我正在编写一个工具来搜索我数据库中的不同记录,您必须在其中指定年份。但是,如果没有输入年份值或等于零,我希望能够选择所有记录。
$stmt = $mysqli->prepare("SELECT * FROM performances WHERE year = ?");
$stmt->bind_param("i", $year);
我曾尝试执行 if 语句,但它们失败了,因为 bind_param 中的参数多于查询中的空格,m.sh:
$stmt = $mysqli->prepare("SELECT *
FROM performances
. (($year != 0) ? " WHERE year = ? " : " ")
. "");
$stmt->bind_param("i", $year);
谢谢
最佳答案
您可以通过不同的方式实现这一目标,例如:
$stmt = $mysqli->prepare("SELECT * FROM performances WHERE year = :year or 0 = :year");
$stmt->bind_param("year", $year);
关于php - MySQL WHERE 'all' 未提供任何值时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387518/