php - MySQL 抓取不返回任何内容

标签 php mysql fetch

<分区>

我想根据 URL 从 MySQL 获取内容。 例如,当 URL 为 /index.php?Name=FAQ 时显示整个 FAQ。 我该如何解决这个问题?

<?php
require("configish.php");

mysql_connect("$hosty", "$uname", "$paswd") or die ("Cannot connect");
mysql_select_db("$dbnme") or die ("Cannot select database");

$url = $_GET['Name'];
$sql="SELECT * FROM Pages WHERE Name='".$url."'";
$result=mysql_query($sql) or die(mysql_error());
mysql_close();

while($res = mysql_fetch_array($result)) {
    echo $res->Content;
}
?>

哦,在你这么说之前,我知道 mysql_ 函数将在 PHP 5.5 及更高版本中弃用,但我目前使用的是 PHP 5.3.10。

最佳答案

如果你想使用对象符号那么你需要调用mysql_fetch_oject()

$url = mysql_real_escape_string($_GET['Name']);
$sql="SELECT * FROM Pages WHERE Name='".$url."'";
$result=mysql_query($sql);

if($result) {
    while($res = mysql_fetch_object($result)) {
        echo $res->Content;
    }
} else {
    trigger_error(mysql_error()); // this silently writes to the log file
    echo 'Page not found';
}

不要在查询后关闭 MySQL 连接,因为您仍然需要连接来检索结果集。

如果您必须使用 mysql_* 库,那么一定要使用 mysql_real_escape_string() 来防止 SQL 注入(inject)。最好切换到PDOMySQLi并使用准备好的语句。

此外,or die(mysql_error()) 是非常糟糕的做法。您应该通过测试 mysql_query()false 返回值来正确处理错误。

关于php - MySQL 抓取不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16978808/

相关文章:

java.sql.SQLException : No value especified for parameter 3 Java + Mysql

django - 获取 Django POST 请求的 API

php - 如何对不同行中堆叠的值求和? PHP PDO MYSQL

React-Native Fetch/Axios 没有 statusText

php - WordPress 菜单 : On click of parent menu item, 仅显示该链接的子导航子项

javascript - Ajax .change() 不适用于多重选择

php - 与 empty, isset, !empty, !isset 混淆

PHP oop 构建数组

mysql - 如何获取 mysql 编辑 (\a) 功能以保留任意行的格式

sql - 如何在垂直设计的表格上实现搜索?