[英]SQL Prepared statements select all result with =
所以我在 PHP 中使用准备好的语句来发送 SQL 命令,其中有 5 个不同的匹配列。 目标是应该有一个选项,如果只选择一列,命令应该能够运行。 如果您选择所有 5 个不同的匹配列,这些选项也应该有效。
$sqlPrepared = $conn->prepare("SELECT * FROM crashes_history WHERE region = ? AND county = ? and crash_id = ?");
$sqlPrepared->bind_param("sssii", $region, $county, $crash_id, $limit, $offset);
所以我所做的是,如果 $region 不存在,我们将 $region 参数设置为 'region' 到 select 所有结果。 但不幸的是,这不适用于准备好的语句。
未选择列的示例(获取所有数据)
SELECT * FROM crashes_history WHERE region = region AND county = county and crash_id = crash_id
您可以在此处使用灵活的准备好的语句,如果它是NULL
,它将忽略给定的列:
$sql = "SELECT *
FROM crashes_history
WHERE (region = ? OR ? IS NULL) AND
(county = ? OR ? IS NULL) AND
(crash_id = ? OR ? IS NULL)";
$sqlPrepared = $conn->prepare($sql);
$sqlPrepared->bind_param("ssssssii", $region, $region, $county, $county, $crash_id, $crash_id, $limit, $offset);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.