这个精确的代码以前在我的旧机器上工作过,但我收到了这个错误(在 Mac OSX 10.7 上)。
C代码是:
printf("%s\n",query);
if (mysql_query(conn,query)){
fprintf(stderr, "%s\n", mysql_error(conn));
}
输出是:
INSERT INTO comment (unum,cat_subject,cat_major,cat_minor,unmod)
VALUES (1,1,1,0,'The cat was lazy.')
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 ','The cat was lazy.')' at line 1
原始printf
语句创建了两行文本,但为了便于阅读,我将它们包装起来。
在我看来一切都很好!以下在 PHP 中适用于同一个表(使用正确的bindParam
语句):
$STH=$DBH->prepare("INSERT INTO comment (unum,cat_subject,cat_major,cat_minor,unmod) VALUES (:u,:s,:ma,:mi,:t)");
怎么了?
(顺便说一句:我试过用"
代替'
但没有区别。)