Dieses Problem macht mich verrückt, ich habe alles versucht. Gibt mir keinen Fehler, aber es fügt auch nichts in die Datenbank ein. Datenbankverbindung ist gut, und es sollte keine Tippfehler geben. Bitte werfen Sie einen Blick und sehen, ob Sie das Problem finden können:PHP PDO vorbereitet einfügen - fügt keine Daten und zeigen keine Fehler
$err = array();
if (isset($_POST['submit'])) {
$ip = gethostbyname($_SERVER['REMOTE_ADDR']);
$date = "2012-02-02 02:02:02"; //Example
$uploader_name = $_POST['uploader_name'];
// Validation happens here...
if (empty($err)) {
$host = "host";
$dbname = "db";
$user = "user";
$pass = "pass";
try {
$dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$sql = "INSERT INTO `table` (`ip`, `date`, `uploader_name`)
VALUES (:ip, :date, :uploader_name)";
$stmt = $dbh->prepare($sql);
# the data we want to insert
$params = array(
':ip' => $ip,
':date' => $date,
':uploader_name' => $uploader_name
);
$stmt->execute($params);
$dbh = null;
} catch(PDOException $pe) {
die('SQL Error');
}
if (empty($err)) {
$err[] = "Success!";
}
}
}
Auch ich bin sicher, es wird auf dem Einsatzteil, weil ich die ‚Erfolg‘ Meldung.
Thank you !! Das Problem war, dass einige der Werte NULL waren. Aber es sind nur einige der Felder, die benötigt werden, wie füge ich leere Werte in diese Felder ein? – 2by
Sie müssten für jede Eingabe, die Sie der vorbereiteten Anweisung hinzufügen, einen Bestätigungscode bereitstellen. if ($ myVar === nulll) {$ myVar = '';} oder so. –
2 Jahre später bist du bomben – bryan