台灣最大程式設計社群網站
線上人數
665
 
會員總數:245137
討論主題:189042
歡迎您免費加入會員
討論區列表 >> PHP >> PHP連接MySQL 設條件問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
PHP連接MySQL 設條件問題
價值 : 50 QP  點閱數:350 回應數:6

樓主

Andy
門外漢
0 6
100 11
發送站內信

各位大大們好,最近我在做網頁時發現了一個問題。
當我使用php連接資料庫時,我使用以下指令:

可以成功抓出資料,但若添加條件後:

執行這段程式碼後$result內卻沒有東西,但如果直接從phpmyadmin內下SQL指令卻可以得到結果。
所以我認為我的指令應該是沒寫錯的。


目前疑問是為甚麼我透過php對"select"添加"where"的條件後,執行query無法取得資料?

搜尋相關Tags的文章: [ php ] , [ mysql ] ,
本篇文章發表於2019-01-15 16:07
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

Andy
檢舉此回應
不好意思, 我的指令是:


沒注意到打錯!! 抱歉!!
本篇文章回覆於2019-01-15 16:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
因為,mysqli_query還不是取得資料。只是下命令連結sql語法。
它回傳的只是一個資料集的物件。

要取得資料還是需要利用 mysqli_fetch_array 這一類的函數來去取得。

ps:
如果是才剛學的,最好直接學用pdo。mysql函數已經在php7上不支援了。
本篇文章回覆於2019-01-16 08:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Andy
檢舉此回應
我目前問題是使用:

後的結果$result是空的,所以如果使用:

去取得$data[0],$data[1]...之類的資料會發生錯誤。

我來研究一下pdo看看..如果也有類似問題再請教一下,謝謝
本篇文章回覆於2019-01-16 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應


mysqli_fetch_array 取出來的KEY值是依照你的欄位名。
如果你要0 1 等KEY值的話。要用 mysqli_fetch_assoc

至少你也得先查一下GOOGLE吧。

不過算了,你直接學用PDO好了。反正現在MYSQL的函數也不支援了。多學無益。

這邊還是要跟你說一下。因為你用PDO因該也會有同樣的問題。

mysqli_query這種的,只是幫你待命好資料表準備處理了。它並不是一個資料。
只是一個「資料集」的物件。白話一點好了,就是準備要操作表的物件。

要取資料是還得要做資料串的處理。
我上面的範例就是利用WHILE的特性,一筆一筆取出來的。

如果你想找取出全部資料串的函數或是命令。抱歉,沒有這樣的命令。
一般都是利用程式來取出或是建立的。

如我範例上的$datas就是一種全取出的應用。
本篇文章回覆於2019-01-16 13:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Andy
檢舉此回應
不好意思, 我補充一下
因為我之前使用:

可以正常把所有資料庫內容抓出來,也能夠正確印出結果。

但如果我把$query改寫成:

出來的$result結果是空的,所以也不會印東西出來。

不過我有嘗試過把where比較條件改成:

出來的$result結果是正確的,印出來也是符合資料庫內容。

但無論是where name='八方雲集' 或是where ave_price=70 這兩種條件式query在phpmyadmin內卻都可以正確執行並顯示結果。



再補充:
我剛剛有閱讀一下PDO相關教學, 也嘗試使用PDO來連接mySQL,已經可以成功使用query抓到資料了。



先謝謝版主告訴我有PDO這種用法,因為最近在學校剛學習php,並且是教導使用mysqli來連接資料庫,所以並不知道有PDO這種東西,謝謝!!
我會再多花時間了解一下PDO的相關資訊。
本篇文章回覆於2019-01-16 14:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
你上面的問題,如果是因為用中文字判斷就會有問題的話,那你要注意一下你的程式檔案的編碼。
不知道你是用何種編輯器來寫程式。要非常注意檔案的預設編碼問題。
那會造成你送不正確的中文字。造成資料查尋不到的問題。
本篇文章回覆於2019-01-16 17:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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