php mysql 选择不工作字段“名称”

我知道这很奇怪,但是如果使用名为name的字段,我有一个返回null的选择。如果我删除它,那么它就可以工作,并且我已经更改了表中的数据。如果我直接查询mysql,它就可以工作。内容中可能有一些东西,但我看不到任何奇怪的东西。


任何可以帮助我调查的建议都是受欢迎的:(


class go { 

   function Query($sql){


       $results = $this->db->query($sql);


       if (mysqli_num_rows($results)<1){    

           throw new Exception('No Results');       

       }    


       $out = array();


       while ($r = $results->fetch_object()){       

           $out[] = $r;  

       } 


       return json_encode($out);    


       $out = null;

    }

}


$client = new go;


//not working

$sql = "select name from books limit 10"; 

$sql = "select name,description from books limit 10";

$sql = "select * from books limit 10";


// works!

$sql = "select description from books limit 10"; 


$data = $client->Query( $sql );

更新


我发现这个问题是由于一些拉丁口音的字符,如ó ñ é


慕斯王
浏览 148回答 3
3回答

吃鸡游戏

使用mysqli_set_charset($db,“utf8”)解决;

喵喵时光机

DBMS 一些保留关键字。名称是密西云中的保留名称。将名称更改为另一个列名称,可能是 name1。我认为这应该有效。检查 mysql&nbsp;https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-N&nbsp;的保留关键字列表。

米琪卡哇伊

更新尝试在初始化与mySQL服务器usg的连接时设置字符集set_charset()方法。我使用以下字符集:$this->db->set_charset('utf8mb4');这可能会解决您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP