gpt4 book ai didi

php - 当指定 SELECT FROM row 时 MySQL 返回数组

转载 作者:行者123 更新时间:2023-11-29 07:00:08 25 4
gpt4 key购买 nike

我有一个 MySQL 查询不起作用,我不知道为什么。

这是我的代码,用于从 url 中选择 id 并将其用作变量,以便 Mysql 可以返回 img_url 列。

    <?php
global $wpdb;
$table_name = $wpdb->prefix . "photos";
$url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$id = basename(parse_url($url, PHP_URL_PATH));
$image = $wpdb->get_results("SELECT img_url FROM $table_name WHERE id = $id");
echo $id
?>

然后显示我的图像

 <img src='<?php echo $image; ?>'>

我从 MySQL 返回的结果是“array”。我不知道这是否重要,但 id 列是 AUTO_INCRMENT PRIMARY KEY。另外,我知道“echo $id”确实从 url 返回 id,所以我知道它有效。有什么建议么?谢谢。

最佳答案

要返回单个值(一行中的一列),您可以使用 wpdb::get_var

$image = $wpdb->get_var("SELECT img_url FROM $table_name WHERE id = $id");
$echo $image;

如果您使用wpdb::get_results你会得到一排行。在这种情况下,您需要使用 $image[0]['img_url']$image[0]->img_url 访问该值 - 取决于提取模式。

由于 $id 是用户输入,因此您还应该使用 wpdb::prepare

$query = $wpdb->prepare("SELECT img_url FROM $table_name WHERE id = %d", $id);
$image = $wpdb->get_var($query);
$echo $image;

关于php - 当指定 SELECT FROM row 时 MySQL 返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764731/

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