gpt4 book ai didi

PHP 和 MySQL 查询 - 多条件

转载 作者:行者123 更新时间:2023-11-30 22:54:54 25 4
gpt4 key购买 nike

我在使用下面列出的代码时遇到问题,我根据用户可能在表单上选择的搜索条件对数据库运行查询。

目前,仅根据作者姓名查询数据库就可以了。但是,如果我取消注释其余的 if-else 语句,则所有查询都不起作用。我只是得到一张空白表格,没有返回任何结果。

我已经单独尝试了每个 if/else 语句,其他语句都被注释掉了,它们都可以自己正常工作,但当它们都被取消注释时就不行了。

谁能指出我正确的方向?

$query = "SELECT * FROM books WHERE book_no IS NOT NULL";


if ($_POST['author'])
$query .= " AND '$author' = author";

/*
else if ($_POST['author'] AND $_POST['year'])
$query .= " AND '$author' = author AND '$year' = year";
*/


/*
else if ($_POST['cover_art']) {
$query .= " AND '$cover_art' = cover_art";

}
*/

/*

else if ($_POST['interior_art']) {
$query .= " AND '$cover_art' = cover_art";

}

else {
// do something else
}
*/

最佳答案

检查这个解决方案:

$author='Bred';
$year='2012';
$cover_art='';

$queryA=array();

if ($author<>'') $queryA []= "'$author' = author";
if ($year<>'') $queryA []= "'$year' = year";
if ($cover_art<>'') $queryA []= "'$cover_art' = cover_art";

$query = "SELECT * FROM books WHERE book_no IS NOT NULL";
if(count($queryA)>0) $query.=' AND '.implode(' AND ',$queryA);

echo $query;

关于PHP 和 MySQL 查询 - 多条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26833528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com