Hi,
ich versuche in eine bereits bestehende Tabelle (bei strato.de) einen neuen Datensatz einzufügen. Leider funktioniert das nicht richtig.
Es sind bereits 3 Datensätze enthalten.
Die Anweisungen connect und select_db funktionieren.
Nur bei der Anweisung „Insert into“ und „query“ tritt ein Fehler auf.
Könnt Ihr mir bitte einen Tipp geben, wie ich das Skript zum Laufen kriege?
Danke, chrysi.
Danke, ich habe überall das i ergänzt. Leider funktioniert es immer noch nicht. Ich hatte auch oben eine Anweisung vergessen. Daher steht unten noch einmal der ganze Code.
Als Fehlermeldung kommt nur „Es wurde kein Datensatz hinzugefügt.“ Also müsste meiner Auffassung nach beim „insert into“ oder beim „mysqli_query“ ein Fehler liegen.
<?php
$db_server = '---';
$db_benutzer = '---';
$db_passwort = '---';
$db_name = '---';
if($con = mysqli_connect($db_server, $db_benutzer, $db_passwort)) {
echo 'Server-Verbindung erfolgreich, wähle Datenbank aus...';
if(mysqli_select_db($con, $db_name)) {
echo 'Datenbank erfolgreich ausgewält, alle Tests abgeschlossen.';}
else {
echo 'Die angegebene Datenbank konnte nicht ausgewählt werden, bitte die Eingabe prüfen!';
}}
else {
echo 'Verbindung nicht möglich, bitte Daten prüfen!';
echo 'MYSQL-Fehler: '.mysqli_error();
}
$sql = "INSERT INTO personen(vorname, alter) VALUES ('Mark', 27)";
mysqli_query($con, $sql);
$num = mysqli_affected_rows($con);
if ($num>0) echo "Es wurde 1 Datensatz hinzugef?gt";
else echo "es wurde kein Datensatz hinzugef?gt";
mysqli_close($con);
?>
@ bdt600: Das hat geholfen. Die Eintragung funktioniert jetzt. Es gibt aber immer noch ein Problem: Es wird zweimal der gleiche Datensatz eingetragen.
Wie kriege ich es hin, dass nur ein Datensatz hinzugefügt wird?
MfG, chrysi.
<?php
$name = "Hossu";
$bereich = "Janosch";
// Neues Datenbank-Objekt erzeugen
$db = @new mysqli( 'rdbms.strato.de', '---', '---', '---' );
// Pruefen ob die Datenbankverbindung hergestellt werden konnte
if (mysqli_connect_errno() == 0)
{echo 'Datenbank erfolgreich verbunden.';
$sql = 'INSERT INTO `tabelleneu` (`name`, `bereich`) VALUES (?, ?)';
$eintrag = $db->prepare( $sql );
$eintrag->bind_param( 'ss', $name, $bereich );
$eintrag->execute();
// Pruefen ob der Eintrag erfolgreich war
if ($eintrag->affected_rows == 1) echo 'Der neue Eintrage wurde hinzugefügt.';
else echo 'Der Eintrag konnte nicht hinzugefügt werden.';
}
else echo 'Die Datenbank konnte nicht erreicht werden. Folgender Fehler trat auf: ' .mysqli_connect_errno(). ' : ' .mysqli_connect_error(). '';
$db->close();
?>