为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
慕斯王 2022-09-25 20:47:43
我知道这很奇怪,但是如果使用名为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 );更新我发现这个问题是由于一些拉丁口音的字符,如ó ñ é
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

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


查看完整回答
反对 回复 2022-09-25
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

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

查看完整回答
反对 回复 2022-09-25
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

更新

尝试在初始化与mySQL服务器usg的连接时设置字符集set_charset()方法。我使用以下字符集:

$this->db->set_charset('utf8mb4');

这可能会解决您的问题。


查看完整回答
反对 回复 2022-09-25
  • 3 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号