返回wordpress结果集的第一行会产生解析错误

时间:2014-04-10 06:58:37

标签: php wordpress

我目前正在使用带有自定义图库插件的WordPress开发照片博客。我创建了一个功能,就像我本地机器上的魅力一样。一旦我把它放在生产环境中,我就会收到错误。

这是产生错误的函数:

function cz_get_photo($id)
{
    global $wpdb;

    return $wpdb->get_results("SELECT title, filename FROM " . $wpdb->prefix . "gallery WHERE photo_id = " . $id . " LIMIT 1;")[0];
}

我收到以下错误代码:“解析错误:语法错误,意外'['在(my-file-path)/functions.php第459行”

为什么这可以在我的本地计算机上运行但不在服务器上运行?我在具有相同插件的两个环境中使用相同的WordPress版本。

2 个答案:

答案 0 :(得分:2)

Please You are use this code
<?php
   global $wpdb;    
   function cz_get_photo($id)
   {
     $row =$wpdb->get_results("SELECT title, filename FROM " . $wpdb->prefix . "gallery WHERE photo_id = " . $id . " LIMIT 1");
     return $row[0];
   }
?>

答案 1 :(得分:1)

  

我创建了一个功能,就像我本地机器上的魅力一样。   一旦我把它放在生产环境中,我就得到了   错误。

原因是您的网络服务器必须运行小于5.4的PHP版本。

您尝试执行的操作称为功能阵列解除引用。 这是PHP 5.4的new feature

重写您的代码,使其适用于您的Web服务器PHP版本..

function cz_get_photo($id)
{
    global $wpdb;
    $arr=$wpdb->get_results("SELECT title, filename FROM " . $wpdb->prefix . "gallery WHERE photo_id = " . $id . " LIMIT 1;");
    return $arr[0];
}