Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码中的mysql语法错误_Php_Mysql - Fatal编程技术网

php代码中的mysql语法错误

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语法有错误;检查 右边是与MySQL服务器版本对应的手册 要在“从FKCUT中选择id,其中id='1','3333'附近使用的语法, “1364186198”,第1行的“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,对吗?我已经删除了那些引用。他们会破坏你的索引,我相信你已经创建了索引,对吗

只是一个简单的语法错误,它发生在我们所有人身上

编辑:我确定您的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..:为什么一个足够时要两次往返到数据库?我只是向用户解释详细的查询,以便于理解。为什么一个足够时要两次往返到数据库?我只是向用户解释详细的查询,以便于理解。