台灣最大程式設計社群網站
線上人數
849
 
會員總數:244895
討論主題:188889
歡迎您免費加入會員
討論區列表 >> PHP >> 關於/r/n查詢資料庫
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於/r/n查詢資料庫
價值 : 10 QP  點閱數:672 回應數:6

樓主

朵莉
門外漢
0 17
184 16
發送站內信

表A的資料表 文字內容是 123/r/n456/r/n
表B的資料表 文字內容是 123/r/n456/r/n

我用PHP 撈出A的資料表去查詢B

$txt = str_replace(chr(10),'\r\n',$txt);

用這種方式 可以把 內容如果是 \r\n 的成功查詢出來

但是如果遇到 內容是

表A的資料表 文字內容是 123/n456/n
表B的資料表 文字內容是 123/n456/n

也會被我取代成 123/r/n456/r/n

我試過 改成

$txt = str_replace(chr(10),'\n',$txt);
$txt = str_replace(chr(13),'\r',$txt);

這樣資料還是無法被我查詢出來

只能查詢到 123/n456/n

請問要用怎樣的方式 能查到 /r/n 也成查到/n

謝謝




搜尋相關Tags的文章: [ php ] ,
本篇文章發表於2017-01-17 19:16
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
你的問題其實應該要在資料庫區發問
以PHP的方式處理就只能分兩次查詢,然後把結果合在一起......

因為是PHP,所以我以mysql的方式來回答
mysql有一個函數叫做REPLACE,請自行google用法和介紹吧
查詢方式大概會是這樣

查詢字串請先轉換成\n
本篇文章回覆於2017-01-18 09:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

朵莉
檢舉此回應
不好意思 這樣的執行結果還是只能查到 \n的值

有辦法查到 \r\n 跟 \n 兩者都能出來的結果嗎?

謝謝
本篇文章回覆於2017-01-18 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

朵莉
檢舉此回應
我補充說明一下

表A的資料 txt文字內容 有一些是數字全行
表B的資料 大部分都是半行

所以我的做法是 把表A 用PHP 改成半行 在回去查詢表B

但是遇到 /r/n 跟 /n 這兩種狀況存在...
本篇文章回覆於2017-01-18 12:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
兩個table在同一個資料庫的話,直接用子查詢做會比較快吧?
不過要先確定你A跟B的內容當初insert的時候是一樣的。


本篇文章回覆於2017-01-18 12:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
抱歉.......沒看到上面的補充。
用mysql的話,半形全形可以參考 http://www.blueshop.com.tw/board/FUM200410061527123KL/BRD20080426102030PTX.html
不過比較建議在存資料庫的時候,先將文字轉換會比較好。
不過,為什麼要轉\r\n?
本篇文章回覆於2017-01-18 13:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

朵莉
檢舉此回應
感謝一樓

把查詢的也改成\n 就可以查到了 謝謝

四樓不好意思我說錯了 是資料上面有一些內容是半行 我要改成全行

但是又不能全不改 所以我一筆一筆改 我試過用 子查詢 但是兩邊資料兜不起來

查到因該是\r\n

謝謝

本篇文章回覆於2017-01-19 15:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.