作者Talenius (Harmonic Inspirations)
看板PHP
標題[請益] 從MySQL取值
時間Mon Feb 14 23:03:59 2011
在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
1F:推 UniFish:$變數=mysql_fetch_assoc($result); 02/15 00:07
2F:→ UniFish:$X=$變數["KEY值"]; 02/15 00:08
3F:→ UniFish:然後$X就可以隨你算 02/15 00:08
4F:→ yuleen123:這表示 mysql_query 傳回的不是 resource,代表 02/15 06:53
5F:→ yuleen123:mysql_query 執行時有錯誤發生,你可以用 mysql_error 02/15 06:54
6F:→ yuleen123:來確認發生什麼錯誤 02/15 06:55
依據兩位大大的建議,我改成如下:
<?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)
7F:推 coldollsheep:我想答案就是你不應該用單引號包tablename 02/15 10:12
8F:→ coldollsheep:除了欄位的值之外 都不用亂用單引號 02/15 10:12
9F:→ coldollsheep:如果你是為了撞上 保留字所加的符號 是` 02/15 10:12
10F:推 bibo9901:table應該用``包起來: `w` 02/15 11:03
如b大所說應為'w'
若如c大說的 w ,則會出現No Database的錯誤訊息
所以原本的tablename寫法應該沒錯
請問還有什麼可能?
※ 編輯: Talenius 來自: 122.116.13.187 (02/15 19:10)
11F:→ arrack:`w`才對,`跟'不一樣,另外連線後要先mysql_select_db 02/15 20:21
感謝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)
12F:→ yuleen123:改成 select max(S) as S from `w` 02/15 22:38
13F:→ yuleen123:你沒有給 max(S) 指定欄位名稱, 所以當然抓不出東西來 02/15 22:39
14F:→ Talenius:感謝y大與各位的解答,謝謝 02/15 22:47