gpt4 book ai didi

PHP 不显示来自 MySQL 数据库的结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:32 24 4
gpt4 key购买 nike

我正在尝试显示由 GET 数据选择的 MySql 数据库中的条目。

if (isset($_GET["id"])){

$id=$_GET["id"];
$result = getSelectedBlog($id);

while($row = mysqli_fetch_array($result))
{
extract($row);
?>

<div class="headline"><?php echo $headline ?></div>
<div class="subtitle"><?php echo $subTitle ?></div>
<div class="content"><?php echo $content ?></div>
<?php
}

SQL语句如下:

function getSelectedBlog($id){

$con = mysqli_connect('localhost', 'root', '', 'michaelWebsite') or die('could not connect');
$sql = 'SELECT * FROM tblArticle WHERE tblArticle.articleID LIKE "$id"';
$result = mysqli_query($con, $sql) or die('entry does not exist.:' . mysqli_error($con));
return $result;

如您所见,我将获取的数据作为 $id 传递给返回结果的方法。然而,没有任何东西被归还。目前有三个条目,如果我将 SQL 语句中的 $id 更改为 1、2 或 3,它将显示相应的数据,但它不适用于 $id 变量。

URL 确实以正确的信息结尾?id=1。

如果这是愚蠢的事情,请原谅,我已经坚持了几个小时了!!

最佳答案

所有这些答案都将解决您的问题,但没有人提到或阻止 SQL Injection .

在您的情况下,我建议(假设 articleID 是一个整数字段)。

$sql = 'SELECT * FROM tblArticle WHERE tblArticle.articleID LIKE "' . (int)$id . '"';

我也很好奇您为什么对 id 字段使用 LIKE

注意:由于您使用的是 MySQLi,我建议您查看 prepared statements .

关于PHP 不显示来自 MySQL 数据库的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10883497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com