簡體   English   中英

SQL查詢可在MySQL Admin中使用,但不適用於PHP mysqli

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM