问题是:我有2个数据库
数据库登录用于用户登录网站。
数据库 Minecraft 用于Minecraft服务器以保存统计数据。
用户需要在登录数据库中 Minecraft用户名注册。
问题:我尝试连接这两个数据库首先我需要 id , id 我可以获取数据超出 mcmmo_stats表。这么容易说
网站(用户名) - > Mcmmo_player(id) - > Mcmmo_stats(ID)
目前这是我的代码:
$getusername = $_SESSION['sess_username'];
$conn = mysqli_connect('localhost', 'root', '', 'minecraft');
$con = "select u.*,minecraft.mcmmo_stats from minecraft.mcmmo_users u join minecraft.mcmmo_skills s on u.player_id = s.player_id where u.user = '$getusername'";
$result = $conn->query($con);
$rowcount=mysqli_num_rows($result);
if ($rowcount > 0) {
while($result) {
echo "<div class='col-sm-4 bericht'>";
echo "<h3>".$result['id']."</h3>";
echo "<h3>".$result['fishing']."</h3>";
echo "</div>";
}
} ?&GT;
这不完全正常,因为我收到了错误
警告:mysqli_num_rows()要求参数1为mysqli_result,boolean给出 第7行的C:\ wamp \ www \ NieuweSite \ php \ rank.php
第7行是$rowcount=mysqli_num_rows($result);
答案 0 :(得分:2)
我相信你的一个问题就在这里:
$con = "SELECT * from mcmmo_users WHERE user = '$getusername'";
你需要在 $ getusername 变量之前和之后使用那些撇号,以便sql知道你有一个字符串
答案 1 :(得分:0)
如果两个数据库都在同一台服务器上,您只需在表名之前添加数据库名称即可。
即
select * from database1.table
select * from database2.table
然后基于你似乎在问什么谎言,这可能会让你朝着正确的方向转向(不是100%肯定你在做什么)
select u.*,o.* from userdb.mcmmo_users u
join otherdb.othertable o on u.userid = o.userid
where u.user = 'your username'
我想我真的必须用实际的表名来编辑它
select u.*,o.player_stats from userdb.mcmmo_users u
join skillsdb.mcmmo_skills s on u.player_id = s.player_id
where u.user = 'your username'
答案 2 :(得分:0)
尝试使用此代码:
$rowcount=mysqli_num_rows($result);
if ($rowcount > 0) {