php代码中的mysql语法错误
我已经有一段时间没有做过任何数据库工作了,我正试图回到数据库中 错误: 更新数据库时出错:SQL语法有错误;检查 右边是与MySQL服务器版本对应的手册 要在“从FKCUT中选择id,其中id='1','3333'附近使用的语法, “1364186198”,第1行的“1” 守则:php代码中的mysql语法错误,php,mysql,Php,Mysql,我已经有一段时间没有做过任何数据库工作了,我正试图回到数据库中 错误: 更新数据库时出错:SQL语法有错误;检查 右边是与MySQL服务器版本对应的手册 要在“从FKCUT中选择id,其中id='1','3333'附近使用的语法, “1364186198”,第1行的“1” 守则: $sql = "INSERT INTO orders (customerID, purchaseNo, dateCreated, statusID) VALUES (select id from FKCust wher
$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,对吗?我已经删除了那些引用。他们会破坏你的索引,我相信你已经创建了索引,对吗
只是一个简单的语法错误,它发生在我们所有人身上
编辑:我确定您的customerID列是INT,不是CHAR,对吗?我已经删除了那些引用。他们会破坏你的索引,我相信你已经创建了索引,对吗?我想应该是这样的
$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')";
只需尝试以下操作:
我认为这可能会帮助您解决问题。请尝试以下方法:
我认为这可能有助于您解决问题。虽然我可以看到问题已经解决,但很有趣的是,为什么您在客户和订单表中为客户设置了不同的ID?为什么在订单中使用FKCust表而不是简单的外键进行链接?在我看来,这就是为什么你首先需要各种奇怪的处理方式;否则就只能直接插入了 现在,您也不能简单地选择数据,例如为客户选择订单,因为匹配行将是一件痛苦的事情
还是我遗漏了什么?虽然我可以看到问题已经解决,但很有趣的是,为什么客户和订单表中的客户ID不同?为什么在订单中使用FKCust表而不是简单的外键进行链接?在我看来,这就是为什么你首先需要各种奇怪的处理方式;否则就只能直接插入了 现在,您也不能简单地选择数据,例如为客户选择订单,因为匹配行将是一件痛苦的事情
或者我遗漏了什么?您提供了4个列名,但在“值”部分选择了1列。您提供了4个列名,但在“值”部分选择了1列。您是正确的,但是customerID是唯一的外键,其他外键来自orders。您是正确的,但是customerID是唯一的外键,其他外键来自订单。啊,我忘了括号,谢谢。@Butterflycode欢迎..:啊,我忘了括号,谢谢。@Butterflycode Welcome..:为什么一个足够时要两次往返到数据库?我只是向用户解释详细的查询,以便于理解。为什么一个足够时要两次往返到数据库?我只是向用户解释详细的查询,以便于理解。