PHP搜索功能无法检索结果

时间:2015-05-28 22:16:15

标签: php mysql

我整天都在努力寻找这个搜索功能。

// If breed2 NULL, search with this query
if ($breed2 == "NULL") {
    $search = mysqli_query($dbconn, "SELECT * FROM `lstfnd` WHERE `doglf_stat` = 'Lost' AND `doglf_breed1` = '$breed1' AND `doglf_breed2` IS NULL AND `doglf_sex` = '$sex' AND `doglf_colour` = '$colour'");
// Else search with this query
} else {
    $search = mysqli_query($dbconn, "SELECT * FROM `lstfnd` WHERE `doglf_stat` = 'Lost' AND `doglf_breed1` = '$breed1' AND `doglf_breed2` = '$breed2' AND `doglf_sex` = '$sex' AND `doglf_colour` = '$colour'");
}
$schrow = mysqli_fetch_assoc($search);

使用的变量是从下拉列表中检索的值。我已经检查过了:

  • 正确地将变量插入查询
  • 查询的SQL是正确的,并在phpMyAdmin
  • 中检索正确的记录

问题似乎在于显示结果。

while($schrow = mysqli_fetch_assoc($search)) {
echo ('
     <p><b><a class="blue" href="lostrep.php?lookup='.$schrow['doglf_id'].'">
    #'.$schrow['doglf_id'].' : '.$schrow['doglf_name'].'</a></b>
    <br>'.$schrow['doglf_breed1'].' X '.$schrow['doglf_breed2'].'
    &nbsp;&nbsp;|&nbsp;&nbsp;
    '.$schrow['doglf_sex'].
    '&nbsp;&nbsp;|&nbsp;&nbsp;
    '.$schrow['doglf_age'].'
    &nbsp;&nbsp;|&nbsp;&nbsp;
    '.$schrow['doglf_colour'].'
    &nbsp;&nbsp;|&nbsp;&nbsp;
    Neutered: '.$schrow['doglf_neuter'].'
    &nbsp;&nbsp;|&nbsp;&nbsp;
    Microchipped: '.$schrow['doglf_mchip'].'
    <br>Lost in '.$schrow['doglf_pcode'].' on '.$schrow['doglf_date'].'</p>
');
}

我无法弄清问题在哪里。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您希望返回多少结果?

如果只有一个,那么您发布的第一个区块中的代码如下: $schrow = mysqli_fetch_assoc($search);正在获得结果,这意味着当您致电while ($schrow = mysqli_fetch_assoc($search)) {时,它将为null,因此不会显示任何内容。从第一个块中删除$schrow = mysqli_fetch_assoc($search);并尝试一下。

答案 1 :(得分:0)

if (!$search) { echo mysqli_error($dbconn); }之后添加mysqli_query,您将看到问题所在。

答案 2 :(得分:0)

您的PHP中似乎有一个错误,您开始打印文本。您在print '之前错过了<p>。同样,您错过了文字末尾的';

相关问题