查询问题

ohou 2006-07-12 10:14:51
如何写这样的查询语句:

表user:
Id uname group

表group:
Id gname

其中,表user中字段group保存的数字是与表group的id对应的。先通过一用户的name,如何直接查询到group的gname?

我分两步写代码:
$rs = mysql_query("SELECT * FROM user where name='$user'");
$myrow = mysql_fetch_array($rs);

$g=$myrow["group"];

$rs1= mysql_query("SELECT * FROM group WHERE id='$g'");
$myrow1 = mysql_fetch_array($rs1);

得到的是这样的错误:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in x:\....\test.php on line 14


而我试着用连接查询,好像也不行。
...全文
192 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yibotiemen 2006-07-12
  • 打赏
  • 举报
回复
最好连user这样的都不要用,因为在sql server里面是这样子的。
好的办法就是表明之类前面加个前缀,就过关了,哈哈
anshenghao 2006-07-12
  • 打赏
  • 举报
回复
对头~~~楼上说的有道理 group 什么table都是关键字~~

用了会出问题的~~
Gdj 2006-07-12
  • 打赏
  • 举报
回复
有啥好解释的,group是关键字。
ohou 2006-07-12
  • 打赏
  • 举报
回复
晕,找到原因了。

数据库不能用group来命名,换了个名字就行了-_-!!

不知道是什么原因,有人能解释一下吗?

查询就一句话搞定:
$rs = mysql_query("select ygroup.name from ygroup left join user on ygroup.id=user.group where user.name='$user'");
$myrow = mysql_fetch_array($rs);
ohou 2006-07-12
  • 打赏
  • 举报
回复
数据库连接正常。我把下面这句屏蔽掉,就没有出错信息
$myrow1 = mysql_fetch_array($rs1);

前面的$g可以读出来。
anshenghao 2006-07-12
  • 打赏
  • 举报
回复
我想问一下 你连接数据库的类文件include进来了么?

或者你程序前面有 mysql_connect()么??

你确定已经连接数据库了?

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧