PHP的MySQL选择的东西,从
问题描述:
我用准备好的发言的其他表得到列,我需要这两个为“选择”其他表,分开,以获得数据,但我得到这个:PHP的MySQL选择的东西,从
Fatal error: Call to a member function bind_param() on a non-object in C:\xampp\htdocs\views\user\referral.php on line 16
如果我加入选择table1。*,表。*“theothertable。*”
$stmt = $mysqli->prepare("SELECT friends.*, rc_usuario.* // or just *
FROM friends
INNER JOIN rc_usuario ON rc_usuario.id = friends.friendID
WHERE friends.userID = ?");
$stmt->bind_param('s', $connectedUserID);
这是工作的罚款,我得到了我所需要的,但我也需要从另一个表中的数据,我不能使其他选择,因为我需要它在一段时间内打印所有的数据在一起。
问题是,我可以从2表中选择类似的东西,也可以从其他表/ s中获取数据吗?
谢谢!
编辑:添加新的语句:
if ($stmt = $mysqli->prepare("SELECT friends.*, members.*, account_type.*
FROM friends
INNER JOIN members ON members.id = friends.friendID
INNER JOIN account_type ON account_type.name = members.acc_type
WHERE friends.userID = ? AND members.acc_type = ?")) {
$stmt->bind_param('is', $connectedUserID, $connectedAcc_type);
$stmt->execute();
} else echo $mysqli->error;
答
您可以通过其他INNER JOIN
,像如下加入多个表;
INNER JOIN rc_usuario ON rc_usuario.id = friends.friendID
INNER JOIN rc_another ON rc_another.col = friends.coljoin
只要确保在连接的表中选择了所需的所有列。
它也可能有助于在if中运行你的准备语句,就像这样;
if($stmt = $mysqli->prepare("SELECT ...")) { // ... where the rest of your query is
$stmt->bind_param('s', $connectedUserID);
$stmt->execute();
}
else {
echo $mysqli->error;
}
这将给你一个关于SQL语法的任何问题的想法。
希望这会有所帮助。
感谢您的快速响应!我添加了if和else并给了我这个错误:不是唯一表/别名:'members' 致命错误:调用成员函数get_result()在C:\ xampp \ htdocs \ views \ user中的非对象上\第25行的referral.php – 2014-10-01 03:55:07
在你编辑你的问题的地方,不要说'从朋友,成员',只要说'从朋友',然后你加入成员。第二个错误是因为由于SQL中的错误而没有结果。 – worldofjr 2014-10-01 03:57:32
好的谢谢,我也重复在哪里:P – 2014-10-01 04:02:35