簡體   English   中英

此查詢中的SQL語法錯誤在哪里?

[英]Where is the SQL syntax error in this query?

mysqli_error()明確指出:

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在'group,upload_by,date_uploaded,url)附近使用VALUES(1、1,NOW(),'/ gallery / 1 / h'在第2行

但這是生成的SQL查詢

INSERT INTO
gallery_images (group, uploaded_by, date_uploaded, url)
VALUES (1, 1, NOW(), '/gallery/1/halflife2180z97stmydo1600x1200.jpg')

它實際上與我在同一站點上運行的另一個SQL查詢相同,沒有錯誤。

我會理解是否要在MySQL的字段中插入無效值,但是它清楚地表明我有語法錯誤 ,但我看不到它。

如果可以看到,請回復。 下面是查詢背后的PHP


$res = $con->query("
        INSERT INTO
        gallery_images (group, uploaded_by, date_uploaded, url)
        VALUES ($group, {$_SESSION[user]->id}, NOW(), '$escaped_name')
    ");

group是保留關鍵字。 在其周圍放反引號。

$res = $con->query("
        INSERT INTO
        gallery_images (`group`, uploaded_by, date_uploaded, url)
        VALUES ($group, {$_SESSION[user]->id}, NOW(), '$escaped_name')
    ");

組是保留關鍵字,請更改該列名稱。

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

group是保留的MySQL關鍵字,不能像這樣使用它。 用反引號`group group`包圍它(1鍵附近的符號)

gallery_images (group, uploaded_by, date_uploaded, url)

是關鍵字

$res = $con->query("
        INSERT INTO
        gallery_images (`group`, `uploaded_by`, `date_uploaded`, `url`)
        VALUES ($group, {$_SESSION[user]->id}, NOW(), '$escaped_name')
    ");

應該做。

group是MySQL中的保留字 您可能需要將其用引號引起來:

INSERT INTO
gallery_images (`group`, uploaded_by, date_uploaded, url)
VALUES (1, 1, NOW(), '/gallery/1/halflife2180z97stmydo1600x1200.jpg')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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