簡體   English   中英

不能在mysql_query()中使用變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM