Page 1 sur 1

mysql_fetch_array(): supplied argument is not a valid MySQL

Posté : 02 juin 2006, 11:51
par azerty53
Bonjour et bon appetit, j'essaye de recuperer un id en fonction d'un libelle de categorie.

mais il me met le message suivant lorsque j'execute.
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\Dcp\Administration\produit.php on line 62
et voici mon php.
$categorie_produit = $_POST['categorie'];
		$sqlcategorie = mysql_query('SELECT * FROM categorie WHERE cat_lib= '.$categorie_produit.'');
		$reqcategorie = mysql_fetch_array($sqlcategorie);
en faisant un echo du $categorie. j'obtient bienle nom de la categorie

mon sql me parrait pourtant bon.

je ne vois pas snif :cry: :cry: :cry:

Cordialement

Posté : 02 juin 2006, 12:03
par guilt92
Si catégorie produit est un text il faut l entourer de ' '. Le problème vient peut etre de la.

Essaye de rajouter un or die(mysql_error()) après tes query comme ca si l'erreur vient de la tu le sauras avant de faire le array().

$sqlcategorie = mysql_query("SELECT * FROM categorie WHERE cat_lib= '".$categorie_produit."'") or die(mysql_error());

Posté : 02 juin 2006, 13:50
par ouckileou
Quand il y a cette erreur, c'est quasiment toujours parceque l'exécution de la requête a échoué

D'où l'intérêt de tester la bonne exécution de celle-ci et d'arrêter l'exécution si ça n'a pas marché

Fais ce que t'as dit guilt92 pour voir le problème

Posté : 02 juin 2006, 13:55
par azerty53
oui c'est ce que j'ai fait et j'ai tout de suite vu l'erreur

merci beaucoup ca me servira dans le futur.

mais j'ai un autre petit probleme mais je vais pas ouvrir un topic pour ca.

j'ai un timestamp que je recupere avec le time()
$timestamp = time();
si je fais un echo je le recupere bien

et une requete
$sql = "INSERT INTO produit(pro_id, pro_ref, pro_com, pro_priht, pro_tim, pro_img, mar_id, cat_id) VALUES('', '$Pref', '$Pcom', '$Ppriht', '$timestamp', '$Pimg', '$Pmar', '$Pcat')";
		$req = mysql_query($sql, $cnx) or die ("echec de $sql");
mais il me rajoute bien les valeurs de mes variable dans la BDD sauf le timestamp qui reste a zero

si quelqu'un avait une petit solution

Cordialement

Posté : 02 juin 2006, 14:04
par ouckileou
Quel est le type de ta colonne qui accueille le timestamp ?

le timestamp PHP et le timestamp Mysql n'ont pas le même format

Tu as des fonctions MySQL qui permette d'insérer directement le timestamp ou la date/heure courante

Posté : 02 juin 2006, 14:08
par azerty53
ma colonne qui accueile le timestamp est de type timestamp sous phpmyadmin.

Posté : 02 juin 2006, 14:15
par azerty53
voila c'est bon j'ai mis le timestamp en type INT et ca passe merci encore a vous ^^ bonne aprem

Posté : 02 juin 2006, 14:17
par ouckileou
ma colonne qui accueile le timestamp est de type timestamp sous phpmyadmin.
Précisons encore : phpMyAdmin n'est qu'une interface pour accéder à MySQL

Ta colonne est donc de type timestamp dans ta table MySQL