[英]Can't find the error in my SQL syntax - PHP (check manual for syntax?)
[英]Can't find my SQL syntax error
我一直在我的SQL語法中收到此錯誤,但找不到原因。 我的數據庫有一個名為“ match”的表,其中包含以下列:
hometeam-varchar(45)
客隊-瓦爾卡(45)
進球-詮釋(11)
進球-詮釋(11)
體育場-varchar(45)
datetime-datetime
這是我在php中的代碼
$query = "INSERT INTO match(hometeam, awayteam, homegoals, awaygoals, stadium, datetime) VALUES('$home', '$away', $homescore, $awayscore, '$arena', $datetime)";
if(!mysql_query($query))
{
echo mysql_error()."<br />";
}
我嘗試打印查詢,它們對我來說看起來不錯:
INSERT INTO match(hometeam, awayteam, homegoals, awaygoals, stadium, datetime) VALUES('Everton', 'Newcastle', 2, 2, 'Goodison Park', 1347937200)
這是我從mysql_error()得到的錯誤:
您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在'match(hometeam,awayteam,homegoals,awaygoals,Stadium,datetime)VALUES('Evert'第1行附近使用
嘗試
$query = "INSERT INTO `match` (hometeam, awayteam, homegoals, awaygoals, stadium, `datetime`)
VALUES('$home', '$away', $homescore, $awayscore, '$arena', $datetime)";
我只是在表名和日期時間列名的周圍添加了`,因為match是保留字。 我做了datetime,因為它也可能是保留字,但我不確定。
表名必須與下一個'('至少有一個空格,或用``
嘗試這個:
$query = "
INSERT INTO `match`
(hometeam, awayteam, homegoals, awaygoals, stadium, datetime)
VALUES
('$home', '$away', $homescore, $awayscore, '$arena', $datetime)";
我認為match
是MySQL中的保留字。
改變這個
$query = "INSERT INTO match(hometeam, awayteam, homegoals, awaygoals, stadium, datetime) VALUES('$home', '$away', $homescore, $awayscore, '$arena', $datetime)";
至
$query =mysql_query("INSERT INTO `match`(hometeam,awayteam,homegoals,awaygoals,stadium,`datetime`)
VALUES('$home','$away','$homescore','$awayscore','$arena','$datetime')");
使用,mysql_query,對所有要插入的變量使用單引號,並避免使用空格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.