2017-07-07 222 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

相关问题