Sagen Sie, wenn ich einen Eingang mit einem eigenen Foto auswählen soll, und ich möchte den Text zu diesem Eingang hinzufügen. Wie würde ich das erreichen? Hier ist mein Versuch, dies zu tun:Eine Möglichkeit, die ID der ID des ausgewählten Eingabefeldes in der SQL-Abfrage abzugleichen?
$username = $_SESSION['username'];
$db = mysqli_connect("localhost", "root", "", "pictures");
$sql = "SELECT * FROM images WHERE username = '$username'";
$result = mysqli_query($db, $sql);
$row = mysqli_fetch_array($result);
$id = $row['id'];
$send = $_POST['send'];
if (isset($_POST['submit'])) {
$db = mysqli_connect("localhost", "root", "", "pictures");
$sql = "UPDATE images SET send='$send' WHERE username='$username' AND id='$id'";
mysqli_query($db, $sql);
header("Location: index");
} else {
}
HTML:
<form enctype="multipart/form-data" action="send_message" method="post">
<input name="send" placeholder="Send message" />
<button name="submit"></button>
</form>
Das Problem, das ich habe, ist, wenn ich tun Text hinzufügen, ist es nicht zu dem Bild geht die ich ausgewählt habe, sondern zu die erste, die der Abfrage entspricht.
Ich sehe, muss ich irgendetwas zu meiner Frage da oben tun? Ich könnte '$ _POST ['id']' verwenden, aber ich muss experimentieren, wenn es richtig in das richtige Bild eingefügt wird. –
@HannahParks Ihre Update-Anfrage hat bereits eine ID, so dass nur Bilder mit der ID aktualisiert werden, und wenn ID der Primärschlüssel ist, dann wird es ein Bild mit dieser ID max geben, es kann eins sein oder keins, da Bild mit ID möglicherweise nicht existiert Es wird nicht viele Bilder mit derselben ID geben. Was Sie tun können, ist Ihre Anfragen vorzubereiten, um SQL-Injektionen zu vermeiden. Siehe http://php.net/manual/en/mysqli.prepare.php Es sendet Abfrage als Abfrage und Daten als Daten, so dass Daten nicht als Abfrage vom Server interpretiert werden. –