2009-02-13 6 views
0

Cela fait trop longtemps que je me bats avec ça, et je ne vois aucune erreur.Erreur de nombre de paramètres erronée dans mysql via php

J'ai une table qui contient un tas d'endroits. Lorsque j'ajoute un emplacement via mon script php, j'obtiens une erreur de 'Nombre de paramètres incorrect pour mysql_query()'.

Lorsque je renvoie la requête mysql, tout va bien, et je peux copier et coller dans phpmyAdmin, tout fonctionne parfaitement.

La requête ressemble à ceci

INSERT IGNORE INTO locations (name, address, city, state, zip) VALUES ('Soboba Casino','23333 Soboba Road', 'San Jacinto', 'CA', '92581') 

Est-ce que je manque quelque chose? Pourquoi cela ne fonctionnerait-il pas dans mon script, mais fonctionnerait dans phpmyAdmin?

Désolé, Manqué mettre en php, l'offensive php semble assez simple

// insert the venue 
$insertLoc="INSERT IGNORE INTO locastions (loc, address, city, state, zip) VALUES ('$venueName','$streetAddress', '$city', '$state', '$zip')"; 
echo $insertLoc; 
mysql_query($insertLoc)or die(mysql_query()); 
+0

S'il vous plaît poster un extrait de code ; Je parie que ce n'est pas la requête exacte qui est passée dans mysql_query(). – Rob

Répondre

3

Essayez de remplacer la troisième ligne avec

mysql_query($insertLoc)or die(mysql_error()); 

(Notez que j'ai remplacé la deuxième mysql_query() avec mysql_error().)

+0

bien sûr! comment pourrais-je être si stupide que de le remarquer maintenant! Merci Pourquoi. – pedalpete

1

C'est une erreur PHP, pas une erreur MySQL. Vérifiez votre code PHP, et postez-le si vous avez besoin de plus d'aide.

Édition après l'édition de la question: C'est la clause die(). mysql_query veut au moins un paramètre. Quelqu'un d'autre a recommandé d'utiliser mysql_error(),, ce qui est probablement ce que vous vouliez faire.

0

Pourriez-vous s'il vous plaît montrer le PHP causant cette erreur? Si je devais deviner je dirais que c'est une citation mal placée dans le SQL que vous créez, causant le compte de paramètre pour être éteint.

mysql_query("INSERT IGNORE INTO locations (name, address, city, state, zip) VALUES ('$place", '$address', '$city', '$state', '$zip')"); 

Cela permettrait d'analyser plusieurs paramètres.

1

or die(mysql_query()); devrait être or die(mysql_error());

Aussi, dans votre SQL je suppose locastions devrait être locations