我正在开发一个 UCP(用户控制面板),用户通过注册时提供的唯一 ID 登录。 我的问题是我的数据库中有两个表:
serverplayers - Holds user ID and name and all of his info
和
vehicles - holds vehicle owner and vehicle model.
所以我需要做的是通过用户“用户名”将这两个连接在一起。我尝试像这样的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 table http://img94.imageshack.us/img94/3369/qebq.png
最佳答案
我不确定 $ro['User']
是什么,但它听起来像是基于您的问题的 ID。在这种情况下,我只需在比较中将 vehicles.vOwner
切换为 serverplayers.UserID
即可。我还强烈建议更改您的架构,以便 vOwner
是 ID 而不是用户名(如果其中一个表中的用户名发生更改怎么办?)它看起来也不像就像你需要加入服务器玩家才能做任何事情一样。
“资源”是 mysql 结果资源。仅通过查看您无法从中获取任何内容 - 您需要对其运行获取操作:
$row = mysql_fetch_assoc($car);
<小时/>
我建议使用 PDO 或 mysqli 而不是已弃用的 ext/mysql。
关于php - Mysql INNER JOIN 和资源#9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18615337/