Function insérer données texte dans mysql - PHP - Programmation
Marsh Posté le 12-10-2012 à 15:35:18
Pb d'échappement de caractères. Voir les ' et les " s'ils sont bien tous échappés.
Marsh Posté le 12-10-2012 à 16:17:21
Merci pour ta réponse, j'avais déjà vérifié ça mais sans succès, je ne vois pas ce qui coince !
Marsh Posté le 12-10-2012 à 20:53:56
Dans "INSERT INTO Estimations2012.12-10-2012", le tiret est un opérateur. Il faut faire "INSERT INTO `Estimations2012.12-10-2012`".
edit : Et dans le truncate aussi pendant qu'on y est. En gros quand tu utilises une table au nom exotique faut le protéger avec des backquotes `nom exotiqu-e de t*able`.
Marsh Posté le 12-10-2012 à 21:39:17
Merci pour ta réponse.
Je comprend bien par contre dans mon cas où j'utilise une fonction comment je peux sur la ligne $requete = 'INSERT INTO '.$tableName.' VALUES ( \''.$line.' \' ) '; protéger ma variable ?
il faudrait écrire $requete = 'INSERT INTO '.'$tableName'.' VALUES ( \''.$line.' \' ) '; ça ne peux pas fonctionner ?
Marsh Posté le 12-10-2012 à 23:15:32
Bon ben j'ai changé 12-10-2012 en 12102012 et effectivement sans les tirets ça marche nickel. Merci pour l'info czh !
Par contre si quelqu'un a une idée de la syntaxe quand il y a les tirets je suis preneur car je m'y suis cassé les chicots
Marsh Posté le 13-10-2012 à 22:50:08
$requete = 'INSERT INTO `'.$tableName.'` VALUES ( \''.$line.' \' ) ';
ou (plus clair)
$requete = "INSERT INTO `$tableName` VALUES ('". $line .' \' ) ';
Marsh Posté le 12-10-2012 à 14:42:25
Bonjour à tous,
j'ai un petit soucis avec mon script qui devrait normalement remplir ma base de donnée...
D'après l'erreur qui m'est renvoyée (La table Estimations2012.12-10-2012 n'a pas ete videe de son contenu.Erreur Ligne 1 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-10-2012 VALUES ( 'South Africa 1', 'Premier League', '8', '2012-10-26', '20:00:' at line 1 INSERT INTO Estimations2012.12-10-2012 VALUES ( 'South Africa 1', 'Premier League', '8', '2012-10-26', '20:00:00', 'Maritzburg Utd', 'Kaizer Chiefs', '13', '22', '66', '72', '46', '25', '11', '3 ' ) )
je pense que l'erreur vient de la ligne $requete = 'INSERT INTO '.$tableName.' VALUES ( \''.$line.' \' ) '; mais je ne vois pas où est l'erreur, ça doit être un truc tout con mais je vois pas.
Si quelqu'un a une idée je suis preneur Je précise que mon fichier $date.txt est une fichier au format CSV.
Merci
Message édité par thales69 le 12-10-2012 à 14:49:03