作者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