PHP 7:意外死亡而没有错误消息

时间:2019-06-10 17:48:41

标签: php error-handling

我知道它必须是一个非常简单的方法,但是它出乎意料地在“返回”行干掉了,并且没有抛出任何错误。我已经启用了错误报告E_All;我已经检查了Apache error_log;

我想念什么?

public function get_by_state_id(int $state_id){
    $db = new mysqli('localhost', 'root', '', 'foo');
    $query = "
        SELECT *
        FROM {$this->table}
        WHERE state_id = ?
        ORDER BY name";
    if($stmt = $db->prepare($query)){
        $stmt->bind_param('i',$state_id);
        $stmt->execute();
        $res = $stmt->get_result();

        $rows = [];

        while($obj = $res->fetch_object()){
            $rows[] = $obj;
        }

        return $rows;
    }
}

1 个答案:

答案 0 :(得分:0)

正如@Dharman指出的那样:该错误是由于回显未转义的utf8字符。

解决了在mysql连接后添加以下内容的问题:

$db->set_charset('utf8mb4');

他还提供了一个链接以了解更多信息:UTF-8 all the way through