2010-04-02 8 views
0

Il y a un code étrange ici que j'ai besoin de faire du travail .. pouvez-vous s'il vous plaît m'aider à le corriger.un problème avec la requête MySQL

mysql_query("insert into table(column) values('$var[0]')); 
+0

Quelle erreur obtenez-vous? –

+1

Il vous manque les doubles guillemets fermants ('" ') avant le dernier') '. Est-ce le problème? –

Répondre

2

Il semble que vous manquez le guillemet " à la fin de votre chaîne SQL.

Pendant que vous y êtes, vous devez réécrire votre requête comme ceci:

mysql_query("INSERT INTO table (column) VALUES ('" . mysql_real_escape_string($var[0]) . "')"); 

... sauf si vous avez déjà échappé $var[0], vous devez passer toutes les variables par mysql_real_escape_string avant de les interpoler dans une requête SQL, pour empêcher les attaques par injection SQL.

0

changer la façon dont vous utilisez la variable comme ceci:

<?php 

mysql_query("insert into table(column) values('".$var[0]."')"); 

?> 

et fermez les guillemets à la fin que vous aviez oublié de le faire.

0

Avez-vous vraiment une table qui n'a besoin que d'une seule colonne à remplir?

Pouvez-vous émettre la requête via votre outil d'administration de base de données directement, plutôt que de passer par PHP? Quelle erreur obtenez-vous?

Il existe de nombreuses raisons pour lesquelles votre code actuel est en train de tomber: les contraintes et les autorisations ne sont que deux. Si vous pouvez poster un message d'erreur utile, nous pouvons poster quelques conseils utiles ...

Martin