我有一个变量$search
,我想在多列中搜索包含$search
的记录
$query="Select * from products where name LIKE ? OR color LIKE ?"
$stmt = $this->pdo->prepare($query);
$results=$stmt->execute(array("%$search%","%$search%"));
但是当我尝试执行print_r($results);
时,除了'1'之外我什么都没有显示。问题可能是$search
变量与查询的绑定。所以我很好奇是否有处理这种情况的方法以及最好的工作方式。谢谢
答案 0 :(得分:3)
$ results是PDOStatement执行的成功状态;返回的行仍在$ stmnt对象中。您需要迭代返回的行并单独打印。
while ($row = $stmnt->fetch(PDO::FETCH_ASSOC)) {
print_r($row);
}
会奏效。
答案 1 :(得分:0)
您还可以使用以下内容:
while ($row = $stmnt->fetch()) {
echo $row['YOUR COLUMNS NAME HERE'].'<br>';
}
或使用绑定列:
$stmt->bindColumn('COLUMN 1 NAME', $variable1);
$stmt->bindColumn('COLUMN 2 NAME', $variable2);
$stmt->bindColumn('COLUMN 3 NAME', $variable3);
//...... GO ON LIKE THIS
$stmt->execute();