注意:尝试获取非对象的属性.....

问题描述 投票:0回答:1

这段代码完美地运行了几个月......

 if ( isset( $_GET['id'] ) {                   
        $recipe_name = $wpdb->get_row("SELECT * FROM " . $table_name . " WHERE ID =".$id);                                 
                    echo $recipe_name->recipe_name; } 

它曾经返回我的菜谱名称,但现在我只得到

注意:尝试获取 .... 中非对象的属性“recipe_name” 48号线

当我尝试时

var_dump ($recipe_name);

我得到 NULL , 所有信息都位于数据库中,并且recipe_name肯定不为空。发生什么事了?

我尝试将

echo $recipe_name->recipe_name;
更改为
echo $recipe_name['recipe_name'];
但我只收到另一个错误

注意:尝试访问 null 类型值的数组偏移量......

php properties
1个回答
0
投票

我不确定您是否在之前的某个地方定义了

$id
并且它被删除了,但是您没有在这个块中定义它。您也可能尝试将空字符串传递给查询,该查询不会返回任何内容。

试试这个,它验证

$_GET['id']
存在且不为空,然后将其分配给
$id

if (isset($_GET['id']) && !empty($_GET['id']) {
    $id = $_GET['id'];
    $recipe_name = $wpdb->get_row("SELECT * FROM {$table_name} WHERE ID = {$id}");                                 
    echo $recipe_name->recipe_name;
} 
© www.soinside.com 2019 - 2024. All rights reserved.