我有2个表,每个表中的唯一标识在两个表中都是相同的。 如何在PHP中将两个表中的数据连接起来?MySQL在PHP中使用内连接
当我常拉的数据我不喜欢这样写道:
$get_board_array = mysql_query("SELECT * FROM posts WHERE user_id_to = '$id' ");
while($posts = mysql_fetch_array($get_board_array))
{
$post_id = $get_post['post_id'];
$html_output .= "<p>".$post_id."</p>";
}
至于来自不同表拉低数据并没有得到这一切混合起来,想到做这样的:
$get_arrayA = mysql_query("SELECT * FROM tableA WHERE age = '36' ");
while($dataA = mysql_fetch_array($get_arrayA))
{
$dataA_id = $dataA['id'];
$dataA_firstName = $dataA['FirstName'];
foreach($dataA_id)
{
$get_arrayB = mysql_query("SELECT * FROM tableB where id='".$dataA_id."'");
while($dataB = mysql_fetch_array($get_arrayB))
{
$dataB_lastName = $dataB['LastName'];
$html_output .= "<p>".$dataA_firstName.$dataB_lastName"</p>";
echo $html_output;
}
}
}
或者这是否太奇怪了?
我知道如何在SQL内部使用内部连接来完成它,但我该如何在PHP中执行类似的操作并输出html?
嵌套查询不好!改为查看[MySQL JOINs](http://mysqljoin.com/)。想一想 - 你将为外部查询返回的每一行运行查询。这是非常慢的,而'JOIN'只有一个查询。 – Bojangles 2012-03-19 19:55:35
您的声明:'$ dataA_id = $ dataA ['id'];'只是更新变量的值,而不是创建数组 – hjpotter92 2012-03-19 19:56:39
如果您知道如何在SQL中执行此操作,那么您知道如何在“PHP ”。你不应该选择'*',你不应该在循环中嵌套查询。尽可能多地提取数据。 – MetalFrog 2012-03-19 19:57:50