2014-10-20 72 views
0

我想從數據庫中拉出一個值,並將其分配給一個php變量。所有的mysqli函數似乎都會拉一整行,而我想要那個行的一個值(例如ID,name,ect)。如何使用mysqli(php)獲取單個數據庫值?

這是我到目前爲止有:

$result = mysqli_query($con, "SELECT * FROM test_table WHRE ID='" . $_GET['ID'] . "'"); 
    $row = $result->fetch_assoc(); 
    $test= $row['ID']; 
    echo $test; 

當我運行上面我沒有得到任何輸出; $ test未分配。什麼是正確的命令爲我的$ test變量賦值?

+0

請告訴我,var_dump($ row)的輸出是什麼; – hakiko 2014-10-20 16:20:24

+1

您有一個SQL注入漏洞。切勿將用戶輸入作爲代碼執行。 – David 2014-10-20 16:20:32

+1

而且您應該將錯誤處理添加到數據庫調用中。 – jeroen 2014-10-20 16:20:51

回答

-1

您在youy忘記A E WHERE子句

$result = mysqli_query($con, "SELECT * FROM test_table WHERE ID='" . $_GET['ID'] . "'"); 
$row = $result->fetch_assoc(); 
$test= $row['ID']; 
echo $test; 

如果你的 'ID' 字段是一個整數,報價是沒有必要的。

+0

我認爲第一個錯誤是@Macbenrnie! – pollux1er 2014-10-20 16:27:42

+1

把SQL注入代碼放在可以按原樣複製/粘貼的答案中可能會被認爲是有點不負責任的...... – David 2014-10-20 16:29:11

+0

謝謝macberni,它總是簡單的東西!我發誓我盯着那個代碼一個小時,從不說出來! @david,感謝提醒,我一定會對我的投入進行消毒。 – user3538411 2014-10-20 16:56:43