2017-07-07 115 views
-2

我試圖從我的數據庫使用PDO檢索信息。爲什麼這個sql查詢不能在pdo中工作?

我正在使用的代碼是

$input = $_GET['input']; 

$inputvalue = $_GET['inputvalue']; 

$db = DB::get_instance(); 
$query = $db->prepare('SELECT * FROM hwidex7 WHERE :input=:inputvalue'); 
$query->bindParam(':inputvalue', $inputvalue); 
$query->bindParam(':input', $input); 
$query->execute(); 
+0

我真的很抱歉,我的語法,我希望你可以建立查詢人誰懂我可以編輯我的問題所以它更容易理解 – Timberman

+0

爲什麼在HWID上使用引號? –

+0

有人需要閱讀一些基礎知識... https://dev.mysql.com/doc/refman/5.7/en/identifiers.html – CBroe

回答

2

在PDO

您不能綁定表或列作爲參數

$query = $db->prepare("SELECT * FROM hwidex7 WHERE `$input` =:inputvalue"); 
$query->bindParam(':inputvalue', $inputvalue); 
$query->execute(); 
$result = $query->fetch(PDO::FETCH_ASSOC); 
print_r($result); 
+1

只需要非常小心,用$輸入變量 –

+0

致命錯誤:帶有消息'SQLSTATE [42S22]的未捕獲異常'PDOException':未找到列:1054'where子句'中的未知列'$ input' – Timberman

+0

是$ $ input '包含你的列名? – Saty

0

這兩種方法都是錯誤的。

SELECT * FROM hwidex7 WHERE `HWID`='3087793810' 

試試上面的查詢。

你會得到同樣的想法。

+0

我很抱歉,但這不是我的意思,我已經添加了我的代碼,所以你可以理解我的意思。 – Timberman

相關問題