按选择选项搜索

  • 本文关键字:搜索 选项 选择 php
  • 更新时间 :
  • 英文 :


我目前正忙于一个项目,我也是这个PHP脚本的新手。

例如,有一个名为"足球"的类别,我还创建了一个脚本,可以在其中将项目添加到数据库中。现在,当我转到"足球"类别时,我会看到一个选项,例如"添加新项目这是它显示的方式:

https://i.stack.imgur.com/Phcdu.png

但是现在我想添加一个产品,例如"阿迪达斯或耐克",所以我输入了"耐克"@项目,它将在足球部分显示耐克的所有产品。但问题是我没有收到任何东西:

<?php
include '../config.php';
if (isset($_POST['name']) && isset($_POST['game'])) {
    $naame = $db->real_escape_string(trim($_POST['name']));
    $gaame = $db->real_escape_string(trim($_POST['game']));
    $query_90 = "SELECT * FROM log_items INNER JOIN log_game ON log_items.game = log_mobs.game WHERE log_items.name like '%$naame%' AND log_game.game = '" .$gaame. "' AND log_items.game = '" .$gaame. "'"
;
    $result_90 = $db->query($query_90) or die ($db->error());
    $n_90 = $result_90->num_rows;
    if($result_90 == 0) {
        echo 'no results';
    } else {
        while ($row_90 = $result_90->fetch_object()) {
            echo htmlspecialchars($row_90->name);
        }
    }
?>

看起来问题出在您的查询中,您在内部将log_items与尚未将后者引入查询的log_mobs联接。

我只能推测您对log_mobs表的意图,但我也会

尝试查询。
$query_90 = "SELECT * FROM log_items 
            INNER JOIN log_mobs ON log_items.game = log_mobs.game
            INNER JOIN log_game ON log_items.game = log_game.game
            WHERE log_items.name like '%$naame%' 
            AND log_items.game = '" .$gaame. "'";

我从查询中删除了条件AND log_game.game = '" .$gaame. "',因为修改后的查询已加入该条件。

此外,这段代码对我来说就像一个错误。

$n_90 = $result_90->num_rows;
if($result_90 == 0) { 
    echo 'no results';
}

当我确定打算写:

if($n_90 == 0) { 
    echo 'no results';
}

您正在使用的数据库库看起来像 mysqli,请查看在 real_escape_string 方法上使用预准备语句

最新更新