我知道它必须是一个非常简单的方法,但是它出乎意料地在“返回”行干掉了,并且没有抛出任何错误。我已经启用了错误报告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;
}
}
答案 0 :(得分:0)
正如@Dharman指出的那样:该错误是由于回显未转义的utf8字符。
解决了在mysql连接后添加以下内容的问题:
$db->set_charset('utf8mb4');
他还提供了一个链接以了解更多信息:UTF-8 all the way through