Mysql INNER JOIN和Resource#9

时间:2013-09-04 13:33:58

标签: php mysql join

我正在使用UCP(用户控制面板),用户通过注册时提供的唯一ID登录。 我的问题是我的数据库中有两个表:

  

serverplayers - 保存用户ID和名称及其所有信息

  

车辆 - 拥有车主和车辆模型。

所以我需要做的是用户“Username”将这两者连接起来。我试过像这样的Mysql INNER JOIN。

$car = mysql_query('SELECT vehicles.vOwner, vehicles.vModel 
FROM vehicles 
INNER JOIN serverplayers ON vehicles.vOwner = serverplayers.User 
WHERE vehicles.vOwner = '.$ro['User'].'');

在此之后,我得到了追索权#9,我读到这不是一个错误只是结果是空的?我的mysql查询中可能有错误或问题所以请告诉所有错误。

但是我认为问题是车辆只是通过它的所有者的名字连接而且不包含UserID。所以我需要的是基本上向用户展示他的用户名是什么用vOwner连接他的用户名。我是不是一个非常聪明的男孩,当谈到mysql或php我只是在学习,我遇到了这个东西,因为我认为是非常有用的mysql INNER JOINS(但主要原因是我不想重新编码整个服务器和UCP)。

车辆:

Vehicles table

ServerPlayers:

ServerPlayers table http://img94.imageshack.us/img94/3369/qebq.png

1 个答案:

答案 0 :(得分:0)

我不确定$ro['User']是什么,但它听起来像是基于您的问题的ID。在这种情况下,我只需在该比较中将vehicles.vOwner切换为serverplayers.UserID。我还强烈建议更改您的架构,以便vOwner ID而不是用户名(如果其中一个表中的用户名发生了变化怎么办?)它看起来也不像你需要的那样加入服务器播放器以获取任何东西。

“资源”是一个mysql结果资源。只是通过查看它就无法得到任何东西 - 你需要在它上面运行获取操作:

$row = mysql_fetch_assoc($car);

我建议在弃用的ext / mysql上使用PDO或mysqli。