PHP連接MySQL查詢中文時顯示Notice: Trying to get property of non-object


1.保證MySQL和PHP的編碼一致

MySQL

修改整個數據庫的編碼格式
    注意:如果數據不重要的話,可以直接使用更改數據庫的編碼格式,再重新建表即可。(此例中的數據庫是test)
alter database test character set utf8
修改整張表的編碼格式
注意:如果數據是重要數據的話,執行下列代碼把整張表編碼格式轉換成utf8即可(此例中的數據表是students)
 
alter table students convert to character set utf8
修改students 表中sname 字段的編碼格式
注意:第一個sanme是要給表中的sname字段修改編碼格式。
   第二個sname varchar(64)是要修改的字段名和字段類型(一般和原表中一樣,不會做修改)
   not null是修改sname不能為空的。(可以選擇不加)
 
alter table students change sname sname varchar(64) character set utf8 not null;
也可以使用phpMyAdmin進入數據表
或進入數據庫

PHP

在php頁面頭部加上:
header("Content-type: text/html; charset=utf-8");   //注意:這一句前不能向頁面輸出任何內容
另外在html里設置的是 <meta http-equiv="content-type" content="text/html;charset=utf-8">

2.獲取由搜索框傳遞來的信息后,加上單引號

搜索框:

<form action="xxx.php" method="post">   

   <p >輸入名字:</p><input type="text"  name="userName"  />

   <button type="submit" name="submit" value="搜索"/>搜索</button>
 
 
xxx.php:

$tofind = $_POST["userName"];

$sql = "SELECT * FROM user WHERE  name='$tofind';";
$result = $conn->query($sql);     

 

即可實現查詢漢字字符串

【至少我的成了。。】

 

 

如果還沒有解決,可以嘗試:

https://blog.csdn.net/Amo_C1003/article/details/80473169      PHP+MySQL無法查詢中文數據

https://www.cnblogs.com/hechunhua/p/3837213.html    Apache以及PHP的默認編碼問題解決(詳解)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM