PHP mysql 查询不起作用


PHP mysql query does not work

我的问题是:我想显示 sql 数据库中的单行

链接为:/index.php?wh=1

法典:

$wh_id=($_GET["wh"]);
$wh_qr=mysql_query("SELECT name FROM warehouse WHERE warehouseid = '$wh_id';");

echo $wh_qr我只得到资源 ID #5,而不是数据库中"名称"的值。

我做错了什么?

mysql_query返回一个mysql result而不是一个字符串,所以你可以回显,你需要做的是

$wh_id=($_GET["wh"]);
$wh_qr=mysql_query("SELECT name FROM warehouse WHERE warehouseid = '$wh_id';");
$row = mysql_fetch_assoc($wh_qr);
echo $row['name'];

请注意,您应该停止使用mysql_*函数,因为它们已被弃用,您还需要验证和清理您获得的任何用户输入。 开始使用PDOMysqli并开始使用prepared statements

您必须执行以下操作。 我还为您添加了一些错误处理。

$link = mysqli_connect("<HOST>", "<USERNAME>", "<PASSWORD>", "<DATABASE_NAME");
$result = mysqli_query($link,"SELECT name FROM warehouse WHERE warehouseid = '$wh_id';");
if (!$result) {
    echo 'Could not run query: ' . mysqli_error();
    exit;
}
$row = mysqli_fetch_row($result);
$echo $row["name"];

然后输出$row,你应该得到你想要的东西。 $row将是一个字符串数组,每列一个,这是您期望从查询中获得的。

此外,您正在使用的所有函数都已弃用。 您应该使用mysqli*函数。