フレンドの追加とフレンドの削除ボタンを作成する際にいくつかの問題があります。 たとえば、friends_requestテーブルのmysqlの 'accepted'行が1の場合、 'Remove Friend'ボタンが表示されます。そうでない場合は、 'Add Friend'ボタンが表示されます。フレンドボタンの追加と削除
これは私がやったボタンのコードですが、間違っています。私はfriends.phpページからピックアップし、それをここに実装
<?php
$selfriendsBtn = "SELECT fr.username
FROM (select from_username AS username
FROM friends_request
WHERE to_username = '".$_GET['u']."' AND accepted = 1
UNION ALL
SELECT to_username AS username
FROM friends_request
WHERE from_username = '".$_GET['u']."' AND accepted = 1) AS fr
JOIN users AS u ON u.username = fr.username LIMIT 5";
$resultfriend_add_rmv = $sql->query($selfriendsBtn);
$rowAdd_RmvFriend = mysqli_fetch_assoc($resultfriend_add_rmv);
$accepted = $rowAdd_RmvFriend['accepted'];
if($user != $_GET['u']) {
if($accepted == 1) {
?>
<table>
<tr>
<td>
<form action="profile.php?u=<?php echo $_GET['u']; ?>&deleted=<?php echo $user; ?>" method="POST">
<input type="submit" name="rmvfriend" value="Remove Friend" />
</form>
</td>
<td>
<form action="profile.php?u=<?php echo $_GET['u']; ?>&a=compose" method="POST">
<input type="submit" name="msg" value="Message" />
</form>
</td>
</tr>
</table>
<?php
} else {
?>
<table>
<tr>
<td>
<form action="profile.php?u=<?php echo $_GET['u']; ?>&requested=<?php echo $user; ?>" method="POST">
<input type="submit" name="addfriend" value="Add Friend" />
</form>
</td>
<td>
<form action="profile.php?u=<?php echo $_GET['u']; ?>&a=compose" method="POST">
<input type="submit" name="msg" value="Message" />
</form>
</td>
</tr>
</table>
<?php
}
}
?>
SELECTテーブル。 なぜ動作しないのかわかりません。ループを使うべきかどうか?まあ、私の意見では、これは非常にうまくいくと思います。あなたが結果セットに存在しない値を探している
'"これは非常にうまくいくと思います。 " - それを試したことはありますか?それが解決策になると思いますか?これをデバッグすると、具体的にどのように失敗するのですか?私が気付く最初のことは、クエリで選択されていないデータベース結果から値を取得しようとしているように見えることです。 – David
あなたはSQLインジェクションを利用できます。パラメータ化されたクエリを使用します。 – chris85
@David私が取得している値はクエリであり、 "受け入れられた= 1"であり、ループを試しませんでした。 –