[請益] 從MySQL取值

看板PHP作者 (Harmonic Inspirations)時間14年前 (2011/02/14 23:04), 編輯推噓3(3011)
留言14則, 6人參與, 最新討論串1/2 (看更多)
在Dreamweaver中,建立空白的PHP網頁 依網路上的說明,用Dreamweaver建立與Database的連線 ( 從FILES與DATABASES的視窗確立已連線) 我想取MySQL中資料表(w)的值 所以在PHP網頁只寫這二行: <body> <?php $result = mysql_query("SELECT max(S) FROM 'w'"); echo mysql_fetch_assoc($result, 1); ?> </body> 但網頁出現: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /路徑/index.php on line 13 ( line 13: echo mysql_fetch_assoc($result, 1);) 我在網路上有查詢過,但不是很懂 請問是可以說明一下以及該如何解決? 另外我需要從MySQL的資料表取值做運算 要在PHP設Array或參數存放取出的值 再以這些Array或參數繼續做運算嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.13.187

02/15 00:07, , 1F
$變數=mysql_fetch_assoc($result);
02/15 00:07, 1F

02/15 00:08, , 2F
$X=$變數["KEY值"];
02/15 00:08, 2F

02/15 00:08, , 3F
然後$X就可以隨你算
02/15 00:08, 3F

02/15 06:53, , 4F
這表示 mysql_query 傳回的不是 resource,代表
02/15 06:53, 4F

02/15 06:54, , 5F
mysql_query 執行時有錯誤發生,你可以用 mysql_error
02/15 06:54, 5F

02/15 06:55, , 6F
來確認發生什麼錯誤
02/15 06:55, 6F
依據兩位大大的建議,我改成如下: <?php $result = mysql_query("SELECT S FROM 'w'"); $sx = mysql_fetch_assoc($result); echo mysql_errno() . ": " . mysql_error(). "\n"; $X = $sx["S"]; ?> 產生的錯誤說明為: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''w'' at line 1 但查過Manual, $result = mysql_query("SELECT S FROM 'w'");的語法應該沒問題 請問各位可否再解釋一下,謝謝 ※ 編輯: Talenius 來自: 122.116.13.187 (02/15 07:38)

02/15 10:12, , 7F
我想答案就是你不應該用單引號包tablename
02/15 10:12, 7F

02/15 10:12, , 8F
除了欄位的值之外 都不用亂用單引號
02/15 10:12, 8F

02/15 10:12, , 9F
如果你是為了撞上 保留字所加的符號 是`
02/15 10:12, 9F

02/15 11:03, , 10F
table應該用``包起來: `w`
02/15 11:03, 10F
如b大所說應為'w' 若如c大說的 w ,則會出現No Database的錯誤訊息 所以原本的tablename寫法應該沒錯 請問還有什麼可能? ※ 編輯: Talenius 來自: 122.116.13.187 (02/15 19:10)

02/15 20:21, , 11F
`w`才對,`跟'不一樣,另外連線後要先mysql_select_db
02/15 20:21, 11F
感謝a大的回應,應該找出問題了 綜合各位的建議,修改如下: <?php $lnk = mysql_connect('localhost', '帳號', '密碼'); mysql_select_db('L', $lnk); $result = mysql_query("SELECT max(S) FROM `w`"); $sx = mysql_fetch_assoc($result); $X = $sx["S"]; echo $X; ?> 以"SELECT max(S) FROM `w`"所取出的值應為數字 但產生是空白的內容 而$X=$變數["KEY值"];中的"KEY值"是指什麼 若是寫成$X = $sx["S"]; KEY值我設為資料表w的S欄 這樣寫法不知道是正確 但這樣產生是空白的網頁 請問各位應怎麼修改? 謝謝 ※ 編輯: Talenius 來自: 122.116.13.187 (02/15 20:48)

02/15 22:38, , 12F
改成 select max(S) as S from `w`
02/15 22:38, 12F

02/15 22:39, , 13F
你沒有給 max(S) 指定欄位名稱, 所以當然抓不出東西來
02/15 22:39, 13F

02/15 22:47, , 14F
感謝y大與各位的解答,謝謝
02/15 22:47, 14F
文章代碼(AID): #1DMKHYNG (PHP)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
3
14
文章代碼(AID): #1DMKHYNG (PHP)