[請益] 簡單SQL 指令請教各位前輩

看板PHP作者 (宅度還不夠)時間15年前 (2010/04/30 16:51), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
想請教各位前輩,這是很簡單的問題 卻困擾我很久蟲子一直抓不到... 當我對資料庫下SQL指令 $sql = "SELECT * FROM member"; 可以正確顯示4筆資料 $sql = "SELECT * FROM member WHERE sid = 1"; 這樣也可以正確顯示編號1的資料 $sql = "SELECT * FROM member WHERE name LIKE '%系統%'"; 可是當我下LIKE指令的時候就沒有資料顯示了 $sql = "SELECT * FROM member WHERE name = '系統管理員'"; 或者直接用 = 去比對資料也是沒有資料顯示 我有用 phpMyAdmin 的SQL查詢視窗輸入3跟4的指令 都是有正確回傳結果的... 想請教各位前輩是不是我在PHP腳本中哪邊有錯呢? 順便附上腳本內容: <?php require_once "./vo/__MemberVO.php"; class __SearchService { var $dbh; public function __construct() { $this->dbh = mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db ("beesdb"); } function getMemberVO() { $myMembers = array(); mysql_query("SET NAMES 'utf8'"); $sql = "SELECT * FROM member "; //$sql = "SELECT * FROM member WHERE name = '系統管理員'"; //$sql = "SELECT * FROM member WHERE name LIKE '%系統%'"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { $Member = new __MemberVO(); $Member->name = $row['name']; $Member->provide = $row['provide']; $myMembers[] = $Member; } return $myMembers; } } ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.34.185.41

04/30 17:39, , 1F
把$sql印出來看看 '系統管理員'是否亂碼 看起來像是編碼
04/30 17:39, 1F

04/30 17:40, , 2F
不然就加上 iconv() 轉成UTF-8 另外確定資料庫的編碼
04/30 17:40, 2F

04/30 19:58, , 3F
i大哥 感謝你,確實是編碼的問題
04/30 19:58, 3F

04/30 20:00, , 4F
我用iconv()的方法將編碼轉成UTF8 就解決了 感謝你!!
04/30 20:00, 4F
文章代碼(AID): #1BsfeLIF (PHP)
文章代碼(AID): #1BsfeLIF (PHP)