fusionner deux requetes ?

VaN
Mammouth du PHP | 1107 Messages

15 févr. 2006, 16:35

Bonjour,

serait-il possible de fusionner ces deux requetes ?
$sql = 	"DELETE FROM frm_topics
			WHERE frm_topics.topic_id = '".$_POST['topic_id']."'";
	$query = mysql_query($sql) OR die("Erreur : ".mysql_error());
	$sql = 	"DELETE FROM frm_posts
			WHERE frm_posts.post_topic_id = '".$_POST['topic_id']."'";
	$query = mysql_query($sql) OR die("Erreur : ".mysql_error());
sachant les tables sont liées par frm_topics.topic_id = frm_posts.post_topic_id

J'ai essayé
$sql = 	"DELETE FROM frm_topics, frm_posts
			WHERE frm_topics.topic_id = '".$_POST['topic_id']."'
			AND frm_posts.post_topic_id = '".$_POST['topic_id']."'";
	$query = mysql_query($sql) OR die("Erreur : ".mysql_error());
mais cela me genere une erreur SQL : /

Invité
Invité n'ayant pas de compte PHPfrance

15 févr. 2006, 20:10

salut

lorsque tu utilises WHERE tu précises une condition lorsque la requête sera appliquée. Lorsque tu veux mettre 2 conditions, tu as 2 possibilités : utiliser un AND ou un OR pour les lier.
Tu as utilisé un AND. Cela signifie que les 2 conditions doivent être vérifiées pour que la requête soit exécutée, ce qui ne va donc pas dans ton cas. Tu dois utiliser un OR vu que les 2 conditions n'ont rien avoir entre elles ;)

pour plus d'infos sur la syntaxe va jeter un coup d'oeil ici sur les possibilités qui te sont offertes : http://dev.mysql.com/doc/refman/5.0/fr/delete.html ;)

Eléphant du PHP | 52 Messages

15 févr. 2006, 22:03

erf petit bug je fus apparamment déconnecté, I am the guest :?