2012-10-01 79 views
0

所以我正在一个非常旧的网站,客户端不会让我升级到任何类型的PDO。无论如何,我必须使用mysql querys,它真的开始压抑我。我似乎无法得到这个工作:Mysql插入值错误

$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); 

任何帮助将不胜感激。

UPDATE:

以下是错误消息:

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

回应出您正在生成的SQL并在数据库中运行它,并查看错误消息是什么。 – andrewsi

+0

@JasonMcCreary他没有得到PDO。 –

+0

添加了错误 – ThePinkHipo

回答

2

在查询的字段名称不应该是单引号内。他们或者不需要引号,或者需要内部回复。

您还需要确保字段类型与您尝试输入的某些整数值时的数据类型相匹配。

+0

谢谢。 – ThePinkHipo