![](/img/trans.png)
[英]SQL script works in MySQL, but fails with mysqli->query(); why?
[英]SQL Query works in MySQL Admin but not in PHP mysqli
我知道在這里已經對stackoverflow提出了類似的問題,但是在嘗試了所有提到的事情之后,我仍然沒有找到解決方案。
這是我的查詢:
$query = "CREATE TABLE IF NOT EXISTS `sygauth`.`accounts` (
`id` INT NOT NULL,
`email` VARCHAR(64) NOT NULL,
`pass` VARCHAR(64) NOT NULL,
`name` VARCHAR(64) NULL,
`last_name` VARCHAR(64) NULL,
`display_name` VARCHAR(64) NOT NULL,
`last_login` DATE NULL,
`disabled` INT NOT NULL,
PRIMARY KEY (`id`));
CREATE TABLE IF NOT EXISTS `sygauth`.`products` (
`id` INT NOT NULL,
`name` VARCHAR(64) NOT NULL,
PRIMARY KEY (`id`));"
然后,我通過mysqli連接執行查詢。 當我通過管理界面(不帶雙引號ofc)執行此查詢時,它就可以正常工作。 一旦我嘗試通過PHP執行查詢,就會收到此錯誤:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS `sygauth`.`products` ( `id` INT NOT NULL, `name` ' at line 1"
我只是不知道錯誤在哪里:(我希望有人可以幫助我,我敢打賭這是我這方面的一個非常簡單的失敗,但是正如我已經說過的,我在這里還找不到任何解決方案。
映入眼簾!
如果使用的是mysqli_query
,則一次最多只能執行1條sql語句(查詢中有2條create
語句)。 如果必須在一個調用中同時運行兩個語句,請改用mysqli_multi_query
。 否則,調用mysqli_query
兩次。
由於您試圖在單個查詢中執行兩個語句,因此它在某種程度上被認為是問題所在。 嘗試使用兩個mysqli_query();
執行mysqli_query();
喜歡:
$query1 = "CREATE TABLE IF NOT EXISTS `sygauth`.`accounts` (
`id` INT NOT NULL,
`email` VARCHAR(64) NOT NULL,
`pass` VARCHAR(64) NOT NULL,
`name` VARCHAR(64) NULL,
`last_name` VARCHAR(64) NULL,
`display_name` VARCHAR(64) NOT NULL,
`last_login` DATE NULL,
`disabled` INT NOT NULL,
PRIMARY KEY (`id`));"
$query2 = "CREATE TABLE IF NOT EXISTS `sygauth`.`products` (
`id` INT NOT NULL,
`name` VARCHAR(64) NOT NULL,
PRIMARY KEY (`id`));"
mysqli_query($query1);
mysqli_query($query2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.