再投稿の場合は、申し訳ありませんが、答えが見つかりません。私は MySql と PHP が初めてで、2 つの別々のテーブルからコンテンツを返すストアド プロシージャを作成しようとしています。呼び出しは本質的にこれです:
CREATE DEFINER=`root`@`localhost` PROCEDURE `grabPage`(t_user VARCHAR(32),
t_page VARCHAR(128))
BEGIN
SELECT formC FROM menuTable WHERE user=t_user;
SELECT formC FROM siteTable WHERE user=t_user AND page=t_page ORDER BY contentID;
END
この見方は間違っているのでしょうか?ベストプラクティスは何ですか? これを 1 つのストアド プロシージャで実行したい理由は、PHP でデータベースを 1 回呼び出すだけで済むようにするためです。そのコードは次のようになります。php で処理する必要がある場合、どのように処理すればよいでしょうか?
$con = mysqli_connect("localhost", "dbusername", "dbpassword", "database");
$query = "CALL grabPage('username', 'pagename')";
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con, $query);
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
$row = array();
while ($row[] = mysqli_fetch_array($result));
mysqli_close($con);
foreach ($row as $htmlOut)
echo $htmlOut['formattedContent'];
ご協力いただきありがとうございます。