作者ottokang (貓貓的大玩偶)
看板PHP
標題Re: [請益] php & mysql一問
時間Sun Oct 2 20:42:05 2005
※ 引述《kc655039 (NNN  )》之銘言:
: $str="select * from customers where cid='$_POST\[\'old_name\'\]';";
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
建議你可以在這個變數後面加上 echo $str這一行
看看最後跑出來的SQL敘述句是什麼,然後拿去MySQL中用看看
出問題應該是因為你的敘述句格式不正確
執行錯誤,你的reslut自然就不能做mysql_fetch_row()的動作了
我的建議是如果要在敘述句用到類似$_POST、$_GET等關連式陣列的話
使用連接符號 '
.',雖然排版比較醜但是出問題機會比較少
上面那句可以改成
$str="select * from customers where cid='"
.$_POST['old_name'];
這樣應該就OK了,附帶一提,在PHP中給SQL的句子不用加;喔!
: 還有一個問題就是,我的mysql裡面的資料表明明有存中文的東西,可是上面那樣
: query卻得不到結果,後來我發現是因為西歐語系的關係,
: 總之問題就是輸入中文的話不會得到結果的狀況....
: 有人有經驗可以分享一下嗎??
中文的問題真的非常麻煩啊...尤其對於MySQL
我這個懶人的建議是:改用unicode來儲存資料,這樣中文的問題就幾乎可以解決
至於從MySQL中query出來能不能轉換成Big5呢?我使用到目前的經驗是都沒有問題
所以放心的用吧!但是記得MySQL版本要4.1以上(好像是4.1版開始支援unicode)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.75.121
※ 編輯: ottokang 來自: 211.74.75.121 (10/02 20:48)
※ 編輯: ottokang 來自: 211.74.75.121 (10/02 20:49)
1F:推 kuoyu:我是用PostgreSQL..幾乎沒遇到中文的問題... 10/02 22:10
2F:→ kuoyu:我只有設定varchar(xx)..其他設定沒改.. 10/02 22:12
3F:推 kuoyu:包含「許」「功」「會」這些字都沒問題.. 10/02 22:21
4F:推 ottokang:所以才說是MySQL的問題啊 10/03 00:13