为什么这句SQL总是出错 PHP输出的SQL语句在命令行里可以执行 PHP里就执行出错提示语法错误

PHP代码:for($x=0;$x<count($items);$x++){if($items[$x]["reserve"]=='true'){$sql.="INSERT... PHP代码:
for ($x=0; $x<count($items); $x++) {
if ($items[$x]["reserve"] == 'true') {
$sql .= "INSERT INTO reserveitem (ordersid, pname, typeid, pmodel, sellprice, norm, pcounts) VALUES ('" . $order_id . "', '" . $items[$x]['pname'] . "', '" . $items[$x]['typeid'] . "', '" . $items[$x]['model'] . "', '" . $items[$x]['soldprice']. "', '" . $items[$x]['norm']. "', '" . $items[$x]['count']. "');";
} else {
$sql .= "INSERT INTO ordereditem (ordersid, pmodel, typeid, norm, pcounts, soldprice, pstatu) VALUES ('" . $order_id . "', '" . $items[$x]['model'] . "', '" . $items[$x]['typeid'] . "', '" . $items[$x]['norm'] . "', '" . $items[$x]['count'] . "', '" . $items[$x]['soldprice'] . "', '1');";
}
};
PHP输出的SQL语句:
INSERT INTO ordereditem (orderid, pmodel, typeid, norm, pcounts, soldprice, pstatu) VALUES ('10021232', 'SH25G', '8', '1-3', '1', '1400.00', '1');
INSERT INTO ordereditem (orderid, pmodel, typeid, norm, pcounts, soldprice, pstatu) VALUES ('10021232', 'SH0563', '15', '3', '1', '5000.00', '1');
INSERT INTO ordereditem (orderid, pmodel, typeid, norm, pcounts, soldprice, pstatu) VALUES ('10021232', 'G-24GM', '3', '180m', '4', '5653.00', '1');
INSERT INTO ordereditem (orderid, pmodel, typeid, norm, pcounts, soldprice, pstatu) VALUES ('10021232', 'G-24GM', '3', '150m', '1', '500.00', '1');
INSERT INTO reserveitem (orderid, pname, typeid, pmodel, sellprice, norm, pcounts) VALUES ('10021232', 'asdfdsa', '12', 'ASDFA', '2332.00', '290-123', '1');
输出的SQL语句在命令行里可以执行php里却不行
我已经检查过了列的数据类型字段长度都是没问题的。
展开
 我来答
大山编程
2015-08-08 · 超过25用户采纳过TA的回答
知道答主
回答量:75
采纳率:100%
帮助的人:23.6万
展开全部
应该是入库的数据没有做处理,入库的时候应该将特殊字符加转义符号。
例如:addslashes()函数进行处理,请试一下如下改动行不行。

$sql .= "INSERT INTO reserveitem (ordersid, pname, typeid, pmodel, sellprice, norm, pcounts) VALUES ('" . addslashes($order_id) . "', '" . addslashes($items[$x]['pname']) . "', '" . addslashes($items[$x]['typeid']) . "', '" . addslashes($items[$x]['model']) . "', '" . addslashes($items[$x]['soldprice']). "', '" . addslashes($items[$x]['norm']). "', '" . addslashes($items[$x]['count']). "');";
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式