【发布时间】:2018-09-20 23:57:23
【问题描述】:
我需要为不同的表执行两个查询。我已经测试过代码打击:
$insert= $mysqli->query("BEGIN;INSERT INTO
patient(patient_firstName,patient_familyName,patient_age,patient_emailAddress, patient_physicalAddress,
patient_mobile,date_of_register,uusernamee,ppasswordd)
values('1','1','1','1','1','1','1','1','1');insert into
patient_requests(patient_id,subject,description)values('222','22222','22222'); Commit; ") ;
这是它显示的错误:
您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 靠近'插入病人(病人名字,病人家庭名字, 患者年龄,患者_'在第 1() 行
我哪里错了?
提前谢谢..!
【问题讨论】:
-
$mysqli->query一次只接受一个查询。而BEGIN;就是其中之一。这就是为什么错误指出接下来会发生什么:INSERT INTO ... -
@juergend 谢谢,你能提出mysqli的替代方案吗?或者代码更正?
-
将您的
query更改为multi_query或手动将其拆分为多个查询。 -
拆分成三个查询:1.)
BEGIN;2.)INSERT INTO ... values( .... );3.)COMMIT; -
@ChibuezeOpata 感谢您的回答。恐怕我不能,因为我在私人功能中使用它! (这可能是个问题吗?因为在私有函数中使用多个查询时我会遇到错误)