由网友(關於伱、莪選擇沉默)分享简介:我在MySQL中的一个字段中存储了一些数据,格式如下:1、5、9、4我将此字段命名为相关。现在,我想在IN子句和PDO中使用该字段。我将该字段内容存储在$related变量中。这是我的下一个代码:$sql = "SELECT id,title,pic1 FROM tbl_products WHERE id IN (?...![新手指南 DVWA 1.9全级别教程之Brute Force](https://p.xsw88.cn/allimgs/daicuo/20230903/1735.png)
我在MySQL中的一个字段中存储了一些数据,格式如下:1、5、9、4
我将此字段命名为相关。现在,我想在IN子句和PDO中使用该字段。我将该字段内容存储在$related
变量中。这是我的下一个代码:
$sql = "SELECT id,title,pic1 FROM tbl_products WHERE id IN (?) LIMIT 4";
$q = $db->prepare($sql);
$q->execute(array($related));
echo $q->rowCount();
但在执行此代码后,我只能获取一条记录,而我必须获取4条记录(1、5、9、4)。我做错了什么?
推荐答案
![新手指南 DVWA 1.9全级别教程之Brute Force](https://p.xsw88.cn/allimgs/daicuo/20230903/1735.png)
使用命名占位符
$values = array(":val1"=>"value1", ":val2"=>"value2", ":val2"=>"$value3");
$statement = 'SELECT * FROM table WHERE `column` in(:'.implode(', :',array_keys($values)).')';
使用??
$values = array("value1", "value2", "$value3");
$statement = 'SELECT * FROM table WHERE `column` in('.trim(str_repeat(', ?', count($values)), ', ').')';
相关推荐
最新文章