这段代码完美地运行了几个月......
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 类型值的数组偏移量......
我不确定您是否在之前的某个地方定义了
$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;
}