您好我正在尝试从网址抓取ID并使用该ID仅显示我的数据库中的特定文章的简单任务。正在从链接抓取ID并显示在网址中 - 所以我猜我的问题是我的查询的WHERE部分。
以下是我的查询:
$dblink = mysqli_connect("localhost", "*", "*", "*") or die ("Error: Can't connect to the database..");
$id=mysql_real_escape_string($_GET['id']);
$query = "SELECT * FROM articles WHERE articles_id = '" . $id . "'";
$largearticleresult = mysqli_query($dblink, $query) or die( "Request could not be made: " . mysqli_error($dblink));
以下是如何在html中回应:
<?php
while($row = mysqli_fetch_assoc($largearticleresult))
{
echo "<all the html markup i have made>";
}
?>
我认为我在查询的= '" . $id . "'";
部分做错了,并且一直在想对这样的事情做些什么:
$id=mysql_real_escape_string($_GET['id']);
$largearticleresult = mysql_query("SELECT * FROM groups where id=".$id.";");
但我现在只是坚持这个问题:-)抱歉这个简单的问题。
更新:
我尝试用数字替换'" . $id . "'
- 这有效并显示文章
更新2:
现在我尝试了一个if语句,看看$ id是否已经设置好了..这似乎不是......
答案 0 :(得分:0)
原来问题是在$ id上使用的mysql_real_escape_string - 删除它并且它像魅力一样工作
答案 1 :(得分:-1)
正确的三个步骤:
所以,有代码
include 'pdo.php';
$sql = "SELECT * FROM articles WHERE articles_id = ?";
$stm = $pdo->prepare($sql);
$stm->execute(array($_GET['id']));
$article = $stm->fetch();
?>
<div>
Do all the HTML markup as <b>clean HTML</b>
using <?=$article['title']?> where needed
</div>
如果要选择多行 - 请使用fetchAll()
代替fetch()
,然后使用foreach
迭代生成的数组。您可以在我链接的文章中找到一个示例。