按选择选项搜索

时间:2014-11-17 21:32:46

标签: php

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

例如,有一个名为' football'的类别,我也创建了一个脚本,我可以在其中添加项目到数据库。现在,当我进入“足球”类别时我看到一个选项,例如'添加一个新项目 这就是它的表现:

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

但现在我想添加一些产品,如阿迪达斯或耐克'所以我把耐克' @ Item,它将在足球部分显示耐克的所有产品。但问题是我没有收到任何东西:

<?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);
        }
    }
?>

1 个答案:

答案 0 :(得分:0)

看起来问题出在您的查询中,您内部加入log_itemslog_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';
}

您正在使用的db库看起来像mysqli,使用prepared statements方法查看real_escape_string