[英]Failing to create mySQL table
我正在嘗試創建一個表,如果它在我的數據庫中不存在。 為此,我正在運行此測試,該測試按預期工作:
$conn = mysql_connect("localhost", "twa222", "twa222bg");
mysql_select_db("airline222", $conn) or die ("Database not found " . mysql_error() );
$val = mysql_query("SELECT 1 from '$FLIGHTID'");
但是當我嘗試創建表本身時出現了問題,這給了我以下錯誤:查詢問題: 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 ''passenger' SMALLINT NOT NULL, 'booking' CHAR(6), 'seat' VARCHAR(3))' at line 2
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 ''passenger' SMALLINT NOT NULL, 'booking' CHAR(6), 'seat' VARCHAR(3))' at line 2
這是嘗試生成表的代碼
if(!$val)
{
$sql = "CREATE TABLE ".$FLIGHTID." (
passenger SMALLINT NOT NULL PRIMARY KEY,
booking CHAR(6), seat VARCHAR(3) )";
$rs = mysql_query($sql) or die ("Problem with query" . mysql_error());
}
mysql_close($conn);
我原本以為是“。$ FLIGHTID”。 這導致了問題,但當我改變它只是ABC時我仍然有同樣的錯誤。
任何人都可以看到我錯在哪里?
編輯:使用ABC時我的SQL輸出是:
CREATE TABLE ABC(乘客SMALLINT NOT NULL PRIMARY KEY,預訂CHAR(6),座位VARCHAR(3))
不使用ABC它是:
CREATE TABLE(乘客SMALLINT NOT NULL PRIMARY KEY,預訂CHAR(6),座位VARCHAR(3))
你使用單引號arround列名是不允許的。 單個qoutes表示里面的值是一個litaral:
更改:
$val = mysql_query("SELECT 1 from '$FLIGHTID'");
至:
$val = mysql_query("SELECT 1 from $FLIGHTID");
使用mysqli_*
或PDO
而不是棄用的mysql_*
API。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.