2011-06-30 4 views
-3

Quelqu'un peut-il m'aider à comprendre pourquoi ce code ne fonctionne pas.mysql_query ne fonctionne pas

Je suis connecté à la base de données. Cet extrait est sous forme de tags php.

$result=mysql_query("INSERT INTO attendeeser (firstName, lastName, shirtSize, title, organization, emailAddress, q1, q2, q3, refId) 
      VALUES ('$_POST[firstName]', '$_POST[lastName]', '$_POST[shirtSize]', '$_POST[title]', '$_POST[organization]', '$_POST[emailAddress]', '$_POST[q1]', '$_POST[q2]', '$_POST[q3]', 'NULL')"); 


I figured it out. Je n'ai pas eu q3 comme champ dans la table.

+5

Veuillez définir "ne fonctionne pas". –

+1

Ce que dit George Cummins. En outre: Votre code est vulnérable à [injection SQL] (http://php.net/manual/en/security.database.sql-injection.php) –

+0

avez-vous vérifié la chaîne de requête générée ou le message d'erreur mysql? 'NUL' ? –

Répondre

3

exécuter cette

if(!mysql_query("INSERT INTO attendeeser (firstName, lastName, shirtSize, title, organization, emailAddress, q1, q2, q3, refId) 
      VALUES ('$_POST[firstName]', '$_POST[lastName]', '$_POST[shirtSize]', '$_POST[title]', '$_POST[organization]', '$_POST[emailAddress]', '$_POST[q1]', '$_POST[q2]', '$_POST[q3]', 'NULL')")){ 
echo mysql_error(); 
} 

qui affiche l'erreur générée par MySQL.

+0

n'avait pas q3 comme un champ dans la table. Facepalm. – swl1020

+0

@ user821843: Si cette réponse vous a aidé à résoudre votre problème, vous pouvez la valoriser et la marquer comme acceptée en cochant la case à côté. Cela récompensera Pheonix pour son travail en votre nom, et aidera les futurs utilisateurs du site à trouver des solutions à leurs propres problèmes. –

4

Oui, quelqu'un a probablement entré une citation ou quelque chose. NE PAS INSÉRER DE CETTE MANIÈRE, vous êtes ouvert aux attaques par injection SQL.

Utilisez PDO ou mysql_real_escape_string() au minimum.

+0

pourriez-vous suggérer une meilleure façon? – swl1020

+1

@ user821843, j'ai suggéré deux façons déjà. Utilisez PDO. http://www.kitebird.com/articles/php-pdo.html – Brad

+1

@user voir ici pour un exemple complet de la première suggestion de Brad: [Référence: Qu'est-ce qu'un exemple de code parfait en utilisant l'extension mysql?] (http://stackoverflow.com/q/6198104) –