verifier presence donnée et adapter si present

jemos
Invité n'ayant pas de compte PHPfrance

11 oct. 2006, 17:16

salut la planète !

j'ai besoin d'aide car je patauge....

j'ai un formulaire d'enregistrement de données dans une table.

J'arrive à inserer mes données... mais s'il existe déjà une ID produit ou ID option dans cette table alors j'ai une erreur du type

Code : Tout sélectionner

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/html/virtualdomains/817/XXX.fr/documents/admin/categories.php on line 307 1062 - Duplicate entry '47-3' for key 1 INSERT INTO products_to_acidite (products_id, acidite_id) VALUES ('47', '3') [TEP STOP]

il fo donc que je fasse une requte qui verifie si l'entrée est presente. Si elle l'est je souhaiterai adapter ma table avec ces nouvelles données...

suis je clair ?

voici le code que je tente d'exploiter :

Code : Tout sélectionner

$products_to_acidite_query =mysql_query("SELECT * FROM ". products_to_acidite ." WHERE product_id='" . (int)$products_id . "'"); if (!mysql_fetch_row($products_to_acidite_query)) { $products_to_acidite_query = tep_db_query("INSERT INTO " . products_to_acidite . " (products_id, acidite_id) VALUES ('" . (int)$products_id . "', '" . (int)$acidite_id . "')"); if (!$modif) { return(FALSE); } } else { $modif=mysql_query("UPDATE ". products_to_acidite ." SET colonne='" . (int)$products_id . "' WHERE product_id='" . (int)$products_id . "'"); if (!$modif) { return(FALSE); } }

merci pour votre aide

Eléphanteau du PHP | 39 Messages

11 oct. 2006, 21:16

Bonsoir Jemos,

Tu peux je crois tester le code erreur juste après ta requête :

Code : Tout sélectionner

if(mysql_errno()==1062)
Dis-nous si c'est bon !

@+

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 oct. 2006, 23:03

C'est une erreur de conception de la base...

Tu ne dois pas effectuer de tels manipulations en PHP.

Tu peux ajouter un champ en auto-increment pour être sur que le tuple (ligne de données) n'est pas déjà présent.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute