常见问题:
1.SQLSTATE[HY000] [2002] 乱码
PHP PDO连接MySQL数据库时,如果MySQL没有启动或者无法访问时将会出现SQLSTATE[HY000] [2002]错误。该错误信息是由PHP所在的计算机系统底层产生的,如果操作系统为Windows并且操作系统语言为简体中文,那么错误信息为GBK编码,PHP使用非GBK编码时会出现乱码,解决方法是将错误信息从GBK转码为UTF-8以后再输出,转码可以使用iconv()函数,该函数需要开启php
mbstring扩展以后才能使用。
解决方案:
将
exit('数据库连接失败:' . $e->getMessage());
改为
exit('数据库连接失败:' . iconv('gbk', 'utf-8', $e->getMessage()));
提示:
数据库连接失败:SQLSTATE[HY000] [2002] 套接字操作尝试一个无法连接的主机。
2.无法批量删除信息的解决方案
Failed to load resource: the server responded with a status of 414 (Request-URI Too Long)
原删除采用get的参数传递方式,导致Request-URI Too Long
错误,调整为post传递参数。
$.ajax({ type: "post", url: "?m=Depart&a=departDeal&act=del", async: true, data: { depart_id: depart_id, depart_name:depart_name }, dataType: "text", success: function (data) { layer.msg(data + '删除成功', {icon: 1, time: 3000},function (){ location.replace(location.href); }); } }); }
后台接受参数:
$depart_id = $_POST['depart_id']; if (is_array($depart_id)) { $depart_id = implode(",", $depart_id); }
@漏刻有时