我目前正在忙于一个项目,我也是这个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);
}
}
?>
答案 0 :(得分:0)
看起来问题出在您的查询中,您内部加入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';
}
您正在使用的db库看起来像mysqli,使用prepared statements方法查看real_escape_string。