2012-10-01 7 views
0

Donc je travaille avec un très vieux site où le client ne me laisse pas passer à n'importe quel type de PDO. De toute façon je dois utiliser mysql querys et ça commence vraiment à me déprimer. Je ne peux pas sembler obtenir ceci pour fonctionner:Mysql Insert Values ​​Error

$array = array('1' => 1, '2' => 2); 

$values = "({$array['1']}, 2, 'data3', 4, 5)"; 

if ($moreData){ 
    $values = $values.", ({$array['6']}, 7, 'data8', 9, 10)"; 
} 

$this->db->query("INSERT INTO " . DB_PREFIX . "customer_reward ". 
       "('field1','field2','field3','field4','field5') ". 
       "VALUES ".$values); 

Toute aide serait grandement appréciée.

MISE À JOUR:

Voici le message d'erreur:

Error: 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 ''field1','field2','field3','field4','field5') VALUES (1, 2, 'data3' at line 1<br />Error No: 1064<br />INSERT INTO table ('field1','field2','field3','field4','field5') VALUES (1, 2, 'data3', 4, 5) 
+3

Éclatez le code SQL que vous générez et exécutez-le dans la base de données, puis consultez le message d'erreur. – andrewsi

+0

@JasonMcCreary Il n'a pas d'AOP. –

+0

a ajouté l'erreur – ThePinkHipo

Répondre

2

Les noms de champs dans votre requête ne devrait pas être entre guillemets simples. Ils doivent soit ne pas avoir de guillemets, soit être à l'intérieur des back-ticks.

Vous devez également vous assurer que les types de champs correspondent aux types de données lorsque vous essayez d'entrer des valeurs entières.

+0

Merci c'était ça. – ThePinkHipo