inserer des données da ma base de donné

Invité
Invité n'ayant pas de compte PHPfrance

14 oct. 2006, 16:07

salut
j ai une variable ( $montableau ) de style

Code : Tout sélectionner

112907 - Naruzo - 0 - 1950 341881 - Krak De L'atlantique - 0 - 5764 465191 - Yrizée - 0 - 46 277722 - Liamykai - 0 - 511 1794460 - Wolfhood - 0 - 63095 189804 - Malkavian - 0 - 13044 270005 - Aletheia - 0 - 0 .... ....
je voudrai recuperer ces données pour les integrer dans ma base de donnée
mais ca me marque

Code : Tout sélectionner

112907 - Naruzo - 0 - 1950 erreurYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
voici mon code
<?php
require "conf.php3";
mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd");

for ($i = 0; $i < count($montableau); $i ++)
{
mysql_query($montableau[$i]) or die('erreur'.mysql_error());
}
$toto = explode('-',$ligne);
mysql_query("insert into matable value(trim($toto[0]),trim($toto[1]),trim($toto[2]),trim($toto[3])") or die('erreur');
?> 
quelqu un pourait il m aider
merci d avance
@+
mloolm

Mammouth du PHP | 19672 Messages

14 oct. 2006, 16:19

Encadre les chaines de caractère par des apostrophes, sinon, ça va planter à tous les coups, et en faisant une concaténation propre, tu aurais en plus moins de problèmes :
<?php
$sql = "INSERT into matable ".
       "VALUES('". trim($toto[0]) ."', '". trim($toto[1]) ."', '". trim($toto[2]) ."', '". trim($toto[3]) ."'";
mysql_query ($sql) or die("Erreur : ". mysql_error());
//...
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

14 oct. 2006, 16:29

en le remplacent par
$sql = "INSERT into matable ". 
       "VALUES('". trim($toto[0]) ."', '". trim($toto[1]) ."', '". trim($toto[2]) ."', '". trim($toto[3]) ."'"; 
mysql_query ($sql) or die("Erreur : ". mysql_error()); 


ca me marque
113272 - Naruzo - 0 - 1950
erreurYou have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

Mammouth du PHP | 19672 Messages

14 oct. 2006, 16:58

Vu, j'ai oublié de fermer la parenthèse de VALUES.

mais ça, tu aurais pu le voir :

:idea: Astuce: lorsque la requête retourne ce genre d'erreur, fais afficher la requête pour l'inspecter visuellement. echo($sql), ça coute pas un rond et on gagne pas mal de temps comme ça ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 13 Messages

16 oct. 2006, 09:42

Krak De L'atlantique risque de planter ta requête aussi à cause du '.

tu peux utiliser mysql_real_escape_string($tavar) pour éviter ça.