當我使用PHP中的變量構建查詢字符串時,它似乎沒有工作。我當前的查詢是:PHP查詢字符串中的變量不起作用
$u = "admin";
$hash = password_hash("password", PASSWORD_DEFAULT);
$set_login = "INSERT INTO users (username, password) VALUES ({$u}, {$hash})";
*我執行查詢進一步向下腳本
如果我用文字所代表的字符串替換{$u}
,與只是一個字符串字面密碼更換{$hash}
,如password
,查詢工作正常。但是,當我介紹什麼時候中斷的變量。我試圖分解查詢字符串,並使用連接運算符:
$set_login = "INSERT INTO users (username, password) VALUES (" . $u . ", " . $hash . ")";
這也沒有工作。然後我認爲它可能是散列,所以我修改了代碼(用於測試):
$u = "admin";
$p = "password";
$set_login = "INSERT INTO users (username, password) VALUES ({$u}, {$p})";
這也沒有效果。
使用準備語句來代替 –
這實在是一般的差的方法,你應該使用**準備語句**。但是,請嘗試將**引號**添加到查詢中。像''INSERT INTO用戶(用戶名,密碼)VALUES('{$ u}','{$ hash}')「;' – FirstOne
請確保密碼欄至少爲60個字符,否則您將遇到問題試圖驗證密碼。 –