0

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

serverplayers - 保存用户 ID 和名称以及他的所有信息

车辆 - 持有车主和车辆型号。

所以我需要做的是通过用户“用户名”将这两个连接在一起。我像这样尝试了 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'].'');

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

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

车辆:

车辆表

服务器玩家:

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

4

1 回答 1

0

我不确定是什么$ro['User'],但根据您的问题,这听起来像是一个 ID。在那种情况下,我会在那个比较中切换vehicles.vOwner到。serverplayers.UserID我还强烈建议更改您的架构,因此vOwner ID 而不是用户名(如果其中一个表中的用户名发生更改怎么办?)看起来您也不需要加入服务器播放器。

“资源”是 mysql 结果资源。你不能仅仅通过查看它来得到任何东西——你需要对它运行 fetch 操作:

$row = mysql_fetch_assoc($car);

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

于 2013-09-04T13:39:26.970 回答