[英]Selecting data from MySQL DB using the ID in URL
我正在尝试从URL的ID中提取数据库中的数据。
基本上,有人单击类别链接。 然后,类别名称进入URL。 因此,当单击“操作”类别时,URL如下所示: http://localhost:8888/test/category.php?id=action
然后,我想获取数据库中与URL中的类别相同的所有内容-因此,请获取数据库中“类别”列中的所有“操作”项
这是我在下面使用的PHP代码。 我收到此错误: There was an error running the query [Unknown column 'action' in 'where clause']
PHP代码:
<?php
$db = new mysqli('localhost', 'root', 'root', 'test');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$id = mysql_real_escape_string($_GET['id']);
$sql = <<<SQL
SELECT *
FROM `games_db`
WHERE `category` = ($id)
SQL;
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
while($row = $result->fetch_assoc()){
echo '<h2>' . $row['title'] . '</h2>' . ' ' . $row['description'] . '<br /><br />';
}
echo 'Total results: ' . $result->num_rows;
// Free result set
mysqli_free_result($result);
mysqli_close($db);
?>
您正在将MySQL函数与mysql_real_escape_string()
混合使用,该函数不能与其他API一起使用。
mysqli_
等效mysqli_real_escape_string()
,这需要数据库连接。 然后在查询中引用$id
变量,不要使用方括号。
$id = mysqli_real_escape_string($db, $_GET['id']);
$sql = <<<SQL
SELECT *
FROM `games_db`
WHERE `category` = '$id'
SQL;
"$id"
也将起作用。 参照(一个或多个):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.