使用URL中的ID从MySQL DB中选择数据

时间:2015-05-25 00:56:11

标签: php mysql

我正在尝试从URL中的ID中提取数据库中的数据。

基本上有人点击了类别链接。然后类别名称进入URL。因此,点击“操作”类别时,网址会如下所示:http://localhost:8888/test/category.php?id=action

然后我想抓住数据库中与URL中的类别相等的所有内容 - 所以抓住数据库中所有“action”项目,这些项目位于名为“category”的列中

以下是我正在处理的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);
?>

1 个答案:

答案 0 :(得分:1)

您正在将MySQL函数与form.onsubmit = function() { return AddComment(place.place_id); }; 混合使用,该函数不适用于任何其他API而非其自身。

  • 使用其mysql_real_escape_string()等效mysqli_,这需要数据库连接。

然后引用查询中的mysqli_real_escape_string()变量,而不是使用括号。

$id
  • 旁注:$id = mysqli_real_escape_string($db, $_GET['id']); $sql = <<<SQL SELECT * FROM `games_db` WHERE `category` = '$id' SQL; 也可以。

参考(S):