我有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