-1
私は解決策を見つけることができないように思える問題がある。php複数のquerys中に中に
私は現在、現在のユーザーが作業している管理用ダッシュボードに表示できるプラグインを作成しています。そのためには2つのクエリが必要ですが、何らかの理由で2つ目のクエリをクエリするときにサイトが機能しなくなります。
私は3つのテーブル
wp_posts(POST_NAMEとID)
wp_cpm_user_role(PROJECT_IDとUSER_ID)
wp_users(IDとlogin_login)
ました:
wp_posts.ID = wp_cpm_user_role.project_id
そして:これまで
wp_cpm_user_role.user_id 0 wp_users.ID
私のコード
Function assigned_projects(){
//database information
$current_user = wp_get_current_user();
$servername = "localhost";
$username = "root";
$password = "Password1";
$dbname = "wordpress";
//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
if ($mysqli->connect_errno)
{
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
//First query
$sql = "SELECT wp_posts.post_name, wp_posts.ID
FROM wordpress.wp_posts
INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
WHERE post_type = 'cpm_project' AND meta_key = '_project_active' AND meta_value = 'yes'";
$result = $conn->query($sql);
//get login name on current user
$user = $current_user->user_login;
//prepare table for presentation
echo '<table class="HOTtable">';
echo '<tr>';
echo '<td class="tdcenter">Project name<hr></td>';
echo '<td class="tdright">Quick link<hr></td>';
echo '</tr>';
if ($result->num_rows > 0)
{
//output data of each row
while($row = $result->fetch_assoc())
{
$name = $row["post_name"];
$ID = $row["ID"];
//create a direct link to the project url
$url = "https://localhost/wp-admin/admin.php?page=cpm_projects&tab=project&action=overview&pid=" . $ID;
//second query to match users with projects
$sql1 = "SELECT wp_cpm_user_role.user_id, wp_cpm_user_role.project_id, wp_users.user_login FROM wordpress.wp_cpm_user_role INNER JOIN wp_users ON wp_cpm_user_role.user_id = wp_users.ID WHERE wp_cpm_user_role.project_id =" . $ID;
$result1 = $conn->query($sql1);
while($row1 = $result1->fetch_assoc())
{
if ($user == $row1["user_login"] AND $ID == $row1["project_id"])
{
echo '<tr>';
echo '<td class="tdcenter">' . $name . '<hr></td>';
echo '<td class="tdright"><a href=' . $url . '>I am the link</a><hr></td>';
echo '</tr>';
}
}
}
}
echo '</table>';
$conn->close;
}
2番目のクエリを通過するソースコードですか?あなたはMySQLのエラーログを見ましたか? – iquellis
echo $ sql1を試してみてください。 PHPMyAdminで実行してエラーがあるかどうかを確認します –