PHP PDO 为 where 子句准备语句

标签 php mysql pdo

假设我有这样的代码:

 SELECT * FROM tbl WHERE ? ORDER BY id desc limit 1
 $query = $this->prepare($q);

我需要将以下条件放到where条件中:

(id=1 and age=20) or (x=50 and y='yes')

但是 $query->execute(array("(id=1 and age=20) or (x=50 and y='yes')")); 没有获取任何值. 如何为 'where' 子句 条件放置准备好的语句。请帮助我修复它。

最佳答案

输入参数将是值而不是表达式..你可以尝试以下..

SELECT * FROM tbl WHERE (id=? and age=?) or (x=? and y=?) ORDER BY id desc limit 1
$query = $this->prepare($q);
$query->execute(array(1, 20, 50, 'yes'));

关于PHP PDO 为 where 子句准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259364/

相关文章:

php - 无法使用 Yii 将文件上传到服务器

php - 相当于 mysql 结果的 each(),以模仿 foreach() 的第一个循环

mysql - 更新具有相同 id 的多行

MySQL 查询和连接表

php比较日期

php - PDO 和 LOAD DATA LOCAL INFILE 不工作

php - PDO Prepared 在单个查询中插入多行

php - 如何使用php显示mysql数据库中的图像?

javascript - 以特定格式将 mysql 数据检索到 javascript 时出现问题

mysql - 多个 mysql 查询按频率排序