2017-05-31 88 views
0


在我的網站上我使用數據庫讓人們創建自己的帳戶。我也有一個確認系統,它在確認時將驗證密鑰存儲到數據庫中。
現在,出於某種原因,關鍵「validationkey」不會插入,無論我做什麼。sql INSERT INTO無法正常工作

$sql = "CREATE TABLE Confirmation (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
username VARCHAR(30) NOT NULL, 
validationkey VARCHAR(30) NOT NULL, 
reg_date TIMESTAMP 
)"; 
if ($conn->query($sql) === TRUE) { 
    echo "Table Confirmation created successfully <br/>"; 
    echo "using varchar"; 
} else { 
    echo "Error creating table: " . $conn->error; 
} 

$sql = "INSERT INTO Confirmation (username, validationkey) 
VALUES ('testuser' , '123456')"; //insert data into config database 
if ($conn->query($sql) === TRUE) { 
    echo "Data inserted <br/>"; 
    echo "using hope"; 
} else { 
    echo "Error inserting data: " . $conn->error; 
} 

本例中「testuser」正在插入,但是「validationkey」字段爲空。這個確切的語法與同一個數據庫中的另一個表在同一個php scipt中使用,並且它工作正常。 有人可以請向我解釋爲什麼這不起作用?
由於事先

編輯
我已經使用所有種類的報價在所有不同的地方:('」「)

+1

你不是每次都在運行'CREATE TABLE',是嗎?這只是爲了顯示模式? –

+0

@AlexHowansky不,這是一個測試腳本,每次運行它時都會重置數據庫。 – waterlight

+0

日誌中是否有錯誤? –

回答

0
在這個例子中

「testuser的」 被插入,然而,本場 「的validationKey」是空的

這是不可能發生的,除非你有在同一個表中定義一個AFTER INSERT觸發這可能是幕後的黑魔法。還要確保你正在尋找正確的數據庫