问题是sql查询不是按id显示表行,而是显示一个带行参数的对象——![mysqli_result 对象( [current_field] => 0 [field_count] => 4 [lengths] => [num_rows] => 0 [type] => 0 )。](https://isstatic.askoverflow.dev/HtsJd.png)
在 ($_GET['id']) 中,来自另一个文件的值被正确传递(以数字表示)。
另外,mysqli_fetch_assoc 不显示$good2 变量的值(因为$good 变量中有一个对象,这就是问题所在)。
<?php
$good_id = $_GET['id'];
require_once 'config/connect.php';
$request = "SELECT * FROM `goods` WHERE 'id'='$good_id'";
$good = mysqli_query($connect, $request);
$good2 = mysqli_fetch_assoc($good);
print_r($good);
print_r($good2);
?>
如果您能帮我解决这个问题,我将不胜感激,我不知道如何解决。
这是预期的行为。
mysqli_query返回一个类型的对象,你可以通过它使用类型等mysqli_result函数从数据库中获取值。(请参阅文档中的完整列表):mysqli_fetch_rowmysqli_fetch_object正如我在此处的评论中写给您的那样
ArchDemon,您遇到的问题是请求返回了一个空列表。正如 u_mulder 正确指出的那样,您的请求有问题,它没有达到您的预期。记录'id',即 在引号中,将字符串id与参数的值进行比较,很明显它没有找到任何东西。一般来说,通过操作字符串来构建查询是一个非常糟糕的主意。这是很不安全的。
正确使用绑定变量: