亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回的值是Resource id #42這是怎么回事?該怎么解決?

返回的值是Resource id #42這是怎么回事?該怎么解決?

智慧大石 2022-04-16 15:14:31
做了一個mysql的查詢 結果返回的值是Resource id #42這是怎么回事?
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

你用的肯定是mysql_query(mysql查詢語句)
Resource id #42 這是mysql_query函數的資源標識
這是手冊原話:
mysql_query() 僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標識符,如果查詢執行不正確則返回 FALSE。
對于其它類型的 SQL 語句,mysql_query() 在執行成功時返回 TRUE,出錯時返回 FALSE。
非 FALSE 的返回值意味著查詢是合法的并能夠被服務器執行。這并不說明任何有關影響到的或返回的行數。很有可能一條查詢執行成功了但并未影響到或并未返回任何行。
我來解釋一下原話:
mysql_query函數如果執行的sql語句是:SELECT,SHOW,EXPLAIN 或 DESCRIBE 這幾個時候,會返回資料標識符(就是你這個Resource id #42);
對于其他的SQL語句(例如:DELETE,UPDATE,INSERT,CREATE等),語句出錯才會返回假值。但是這個語句沒有語法錯誤,但是執行了,沒有出現效果,它是不會管的。
你可以這么理解,mysql_query函數只是進行了查詢。返回只是一個資源標識,還不可以使用。
如果你要顯示數據:可以把它讀到數組(mysql_fetch_array或者mysql_fetch_assoc())
如果你想知道查詢結果行數是多少:可以是用mysql_num_rows
如果你的不是查詢語句,直接判斷它返回的值是真是假。



查看完整回答
反對 回復 2022-04-19
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

這是一個記錄集.里面包含很多記錄的.
你需要用循環.
while ($row = mysql_fetch_assoc($result))
這樣就可以解析出來里面的內容了.

查看完整回答
反對 回復 2022-04-19
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

一般返回這個結果只是一個連接mysql的一般標識,你可能查詢語句或是代碼出錯!

查看完整回答
反對 回復 2022-04-19
  • 3 回答
  • 0 關注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號