[英]mysql syntax error in php code [closed]
自从我完成任何数据库工作以来已经有一段时间了,试图重新使用它。
错误:
更新数据库时出错:您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'从FKCust中选择id时使用,其中id ='1','3333','1364186198','1')'
编码:
$sql = "INSERT INTO orders (customerID, purchaseNo, dateCreated, statusID) VALUES (select id from FKCust where id ='$customerId','$purchaseOrder', '$dateEntered','1')";
如果您需要数据库结构,我也会将其发布。 请发表评论。
我认为应该
$sql = "INSERT INTO orders (customerID, purchaseNo, dateCreated, statusID)
VALUES ((select id from FKCust where id ='$customerId'),
'$purchaseOrder', '$dateEntered','1')";
$sql = "INSERT INTO orders (customerID, purchaseNo, dateCreated, statusID)
VALUES (select id, '$purchaseOrder', '$dateEntered','1'
from FKCust
where id = $customerId
)";
只是一个简单的语法错误,它发生在我们所有人身上。
编辑 :我确定您的customerID列是INT,而不是CHAR, 对吗? 我已删除了这些引号。 他们会打破你的指标,这一点我敢肯定 ,你已经创建了,对不对?
尝试以下方法:
<?php
$selectCust = mysql_query("select `id` from `FKCust` where `id` ='".$customerId."'") or die(mysql_error());
$resultCust = mysql_fetch_array($selectCust);
$getCustID = $resultCust['id'];
$sql = "INSERT INTO `orders` (`customerID`,`purchaseNo`,`dateCreated`,`statusID`) VALUES ('".$getCustID."','".$purchaseOrder."', '".$dateEntered."','1')";
$query = mysql_query($sql) or die(mysql_error());
?>
我认为这可以帮助您解决问题。
虽然我看到它已解决,但很有趣的是,为什么在客户和订单表中您有不同的客户ID? 为什么要使用FKCust表进行链接而不是使用订单中的简单外键进行链接? 在我看来,这就是您首先需要进行各种奇怪处理的原因; 否则,它只是笔直的插入。
现在,您也不能简单地选择数据(例如,客户的订单),因为匹配行将很麻烦。
还是我错过了什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.