问题在PHP中解析JSON

时间:2014-06-05 16:44:45

标签: php json mobile

我有一个将JSON对象发送到PHP(服务器)的移动应用程序,因此,我编写了一个PHP程序来将数据插入表中,当我运行移动应用程序时,我在error_log文件中收到了一条消息&#34 ; PHP解析错误:语法错误,意外T_STRING,期望在​​第38行" /home/price/public_html/WebService/test_subir2.php中的T_FUNCTION,第38行是"返回false;"你能帮帮我吗?

<?php
class RedeemAPI
{
    private $db;
    // Constructor - open DB connection
    function __construct()
    {
        $this->db = new mysqli('localhost', 'futchoco', 'Futcho190867', 'futsoft');
       /* verificar la conexión */
       if (mysqli_connect_errno())
       {
        printf("Conexión fallida: %s\n", mysqli_connect_error());
        exit();
       }
       $this->db->autocommit(FALSE);
    }

    // Destructor - close DB connection
    function __destruct()
    {
        $this->db->close();
    }
    // Main method to redeem a code
    function redeem()
    {
        // Check for required parameters
        $json = file_get_contents('php://input');
        $obj = json_decode($json,true);
        echo $obj;
        $rows = array();
        //foreach($array[] as $key => $value)
        foreach($obj as $item)
        {
            $rows[] = "('" . $key . "', '" . $value . "')";
            $stmt = $this->db->prepare('INSERT INTO prueba (id,nombre)
                                        VALUES (%d,%s)',$item->id_cliente,$item->nombre) or die(mysqli_error($this->db));
            $stmt->execute();
        }
        }
        return false;
    } 
}

// This is the first thing that gets called when this page is loaded
// Creates a new instance of the RedeemAPI class and calls the redeem method
$api = new RedeemAPI;
$api->redeem();

&GT?;

2 个答案:

答案 0 :(得分:1)

在完成函数redeem之前,你有一个太多的左大括号。

    }
    }
    ^-- remove this.
    return false;
}

你当前的表示法意味着该类应返回false这是没有意义的,它甚至不编译(显然)。

答案 1 :(得分:0)

你基本上已经

class RedemmAPI {
    blah blah blah
    return false;
}

你不能没有&#34;裸露&#34;这样的代码。类定义的顶级只能包含变量定义和函数定义。

你可能想要

class RedeemAPI {
    blah blah blah
    function redeem() {
        return false;
    }
}