mysqli_real_escape_string nicht richtig funktioniert
Ich versuche, mit beiden mysqli_real_escape_string
und trim
zusammen, bevor Sie eine MySQL - INSERT
Abfrage. Mein code ist wie folgt:
<?php
$fname = mysqli_real_escape_string($dbc, trim($_POST['fname']));
$sname = mysqli_real_escape_string($dbc, trim($_POST['sname']));
$occ = mysqli_real_escape_string($dbc, trim($_POST['occ']));
$twitter = mysqli_real_escape_string($dbc, trim($_POST['twitter']));
$email = mysqli_real_escape_string($dbc, trim($_POST['email']));
$skype = mysqli_real_escape_string($dbc, trim($_POST['skype']));
$topic1 = mysqli_real_escape_string($dbc, trim($_POST['topic1']));
$topic2 = mysqli_real_escape_string($dbc, trim($_POST['topic2']));
$topic3 = mysqli_real_escape_string($dbc, trim($_POST['topic3']));
$avoid1 = mysqli_real_escape_string($dbc, trim($_POST['avoid1']));
$avoid2 = mysqli_real_escape_string($dbc, trim($_POST['avoid2']));
$avoid3 = mysqli_real_escape_string($dbc, trim($_POST['avoid3']));
$cr = mysqli_real_escape_string($dbc, trim($_POST['cr']));
if ((!empty($fname)) && (!empty($sname)) && (!empty($email)) && (!empty($topic1))) {
$dbc = mysqli_connect('host', 'user', 'password', 'database') or die('Error connecting to MySQL server');
$query = "INSERT INTO initial_details (fname, sname, occ, twitter, email, skype, topic1, topic2, topic3, avoid1, avoid2, avoid3, cr) VALUES ('$fname', '$sname', '$occ', '$twitter', '$email', '$skype', '$topic1', '$topic2', '$topic3', '$avoid1', '$avoid2', '$avoid3', '$cr')";
$result = mysqli_query($dbc, $query);
if (!$result) {
mysqli_close($dbc);
echo 'Duplicate';
} else {
mysqli_close($dbc);
echo 'Success - entry added';
}
} else {
echo 'Error';
}
?>
Mit dem code oben erhalte ich den 'Fehler' - Meldung, aber wenn ich entfernen mysqli_real_escape_string()
und verwenden nur trim
ich bin in der Lage, legen Sie meinen Eintrag erfolgreich.
Warum bin ich nicht in der Lage zu verwenden mysqli_real_escape_string()
in diesem Szenario?
- Welche Fehler sind Sie immer? Und haben Sie sich überlegt mit prepared statements?
- Einschließlich der error messege könnte nur helfen.
- Wenn Sie laufen in ein problem mit einer bestimmten PHP-Funktionen finden Sie im manual-Eintrag für die Funktion zuerst, wie
http://php.net/mysqli_real_escape_string
- ist es meist Listen die Voraussetzungen für eine Funktion, um richtig zu arbeiten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
$dbc = mysqli_connect
muss vor allen diemysqli_real_escape_string
fordert, damit es funktioniert. Dies ist, weil benötigen Sie eine aktive mysqli-Verbindung, diese Funktion zu verwenden.Müssen Sie eine Verbindung zu Ihrer Datenbank zuerst.
Einschalten error reporting hilft auch.
$dbc = mysqli_connect
muss vor allen diemysqli_real_escape_string
fordert, damit es funktioniert. Aus diesem Grund müssen Sie eine aktive mysqli-Verbindung, diese Funktion zu verwenden. Was hat das bedeutet. Benötigen Sie detailliertere?