在此查询中
select wrd from tablename WHERE wrd LIKE '$partial%'
我正在尝试将变量'$partial%'
与PDO绑定。不确定最后如何使用%
。
会是
select wrd from tablename WHERE wrd LIKE ':partial%'
:partial
绑定到$partial="somet"
的位置>>
或者会是
select wrd from tablename WHERE wrd LIKE ':partial'
:partial
绑定到$partial="somet%"
的位置>>或者会完全不同吗?
在此查询中,从表名中选择wrd,其中wrd喜欢'$ partial%',我试图将变量'$ partial%'与PDO绑定。不确定最后如何处理%。会选择wrd ...
您也可以说:
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
$var = "partial%";
$stmt = $dbh->prepare("select wrd from tablename WHERE wrd LIKE :partial");
$stmt->bindParam(":partial", $var);
$stmt->execute(); // or $stmt->execute(array(':partial' => $var)); without
// first calling bindParam()
$rs = $stmt->fetchAll();
您可以在准备好的语句之前使用addcslashes。我在mysql上测试过。
我认为(@bobince提供的)答案可以简化一些。
下面的代码仅显示数据库中的第一个关键字!
这是您应该这样做的方式
bindValue(':partial', '%' . $_GET['partial'] . '%');
谁编写了答案软件(可能是karim79):
$var ="partial%" $stmt =$dbh->prepare("select wrd from tablename WHERE wrd LIKE :partial") $stmt->bindParam(":partial",$var) $stmt->execute(); //or$stmt->execute(array(':partial'=>$var)); without // first calling bindParam() $rs =$stmt->fetchAll();