[英]Can't Use Variables in mysql_query()?
這與獲得男孩和女孩一樣基本。
我有一個非常簡單的腳本,將無法正常工作。 我調用數據庫並測試它的連接,然后執行查詢,存儲結果並打印結果。
問題是我似乎無法在SQL語句中使用任何變量。
這是代碼:
<?php
$rest_name = $_GET['rest_name']; // outputs 'Starbucks'
$test = mysql_query("SELECT code_id FROM table_code WHERE restaurant = '$rest_name'");
/* I've also tried these as well
$test = mysql_query("SELECT code_id FROM table_code WHERE restaurant = '".$rest_name."'");
*/
$mark = mysql_result($test,0);
echo $_GET['rest_name'].$mark;
?>
我回顯了查詢,它看起來很好並且可以在數據庫中很好地運行。 $ rest_name變量回顯良好。 $ _GET ['rest_name']回顯良好。 我對此感到迷茫和困惑。
1-您可以從這里開始。
$test = mysql_query("S....") or die(mysql_error());
這樣,您將看到遇到的錯誤。
2-您可能要避免在查詢中使用用戶提供的變量
$rest_name = mysql_real_escape_string($_GET['rest_name']);
否則,用戶可以插入自己的sql命令;
3-不建議使用mysql_xxx函數,您可能想研究pdo或mysqli以了解新方法的工作方式。
驗證您具有由msyql_query返回的有效結果集
$test = mysql_query("SELECT ... ");
if (!$test) {
die(mysql_error());
}
(很可能您沒有連接到MySQL實例,您在錯誤的數據庫中,所連接的用戶沒有權限,等等。)
在使用結果集之前,請先對其進行檢查。
注意:請勿使用mysql_函數,而應使用mysqli或PDO。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.