php - 如何将此 mySql 查询转换为 PDO 格式...?

标签 php mysql pdo

我应该如何为这种类型的查询编写我的 PDO Prepare 和 bindValue/param 语句,其中我检查值是否不为 null 然后只将它添加到查询字符串.....

$query = "SELECT * FROM cabs WHERE DATE='$date' ";
if ($mode!=='' || $mode!=="")
  $query .="AND MODE='$mode' ";

if ($tfno!=='')
  $query .="AND TFNO='$tfno' ";
  $query .="ORDER BY TIME";

最佳答案

快速回答,无需测试:

<?php
$params = array(':date' => $date);
$query = "SELECT * FROM cabs WHERE DATE=':date' ";
if ($mode!=='' || $mode!=="") {
  $query .="AND MODE=':mode' ";
  $params[':mode'] = $mode;
}

if ($tfno!=='') {
  $query .="AND TFNO=':tfno' ";
  $params[':tfno'] = $tfno;
}
$query .="ORDER BY TIME";

$req = $dbh->prepare($query);
$req->execute($params);

每次您的查询获得更多过滤器时,只需插入参数数组,并且使用名称应该更容易,我不确定 array_push 是否会保留顺序,所以..

关于php - 如何将此 mySql 查询转换为 PDO 格式...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24778523/

相关文章:

php - Codeception 在 Symfony 4 中找不到 Kernel.php

mysql - 基于带有 INNER JOIN 的 SELECT 查询从表中删除

php - PDO - 查询没有结果

java - jdbc ODBC 连接

mysql - 计算 SQL 查询执行并将行转换为 mybatis 中的 java 对象所需的时间

php - 只读数据库上的 PDO::exec() 不返回

php - 如何在单独的类中处理连接到 mysql 数据库?

php - jquery ajax 返回值没有按预期响应

php - 从 SimpleXML 对象到数组的递归转换

php - 实现人与人之间的随机聊天