856 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Folgendes Problem: versuche Daten für einen Kalender in eine MySQL-Datenbank zu schreiben. Erhalte die Meldung, dass die Verbindung i.O. sei, jedoch wenn ich in die Datenbank schaue, sind keine Daten vorhanden.
Übersehe ich da was grundlegendes?

db.php
<?
$dbname="hrm";
$dbhost="localhost";
$dbuser="root";
$dbpass="kennwort";
mysql_connect($dbhost,$dbuser,$dbpass) or die("Keine Verbindung möglich: " . mysql_error());
echo "Verbindung zum Datenbankserver erfolgreich";
mysql_select_db($dbname) or die("Auswahl der Datenbank fehlgeschlagen");

?>


eintragen_termin.php
<head>
<link rel="stylesheet" href="css/css.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Termine eintragen</title>
</head>

<body>
<?PHP
if ($button==" OK ") {
include("db.php");
mysql_query("INSERT INTO hrm_termine (datum, username, time_start, time_end, ort, bemerkung) VALUES ('$datum','$username''$time_start','$time_end','$ort','$bemerkung')");
mysql_close();
?>
Die Daten wurden eingetragen<br>
<a href="login_success.php">WEITER</a>
<?PHP
} else { ?>
<form methode=post action=eintragen_termin.php>
<table width="800" border="0">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Datum</td>
<td><input type="text" value="<?php echo date("d.m.Y"); ?>" name="datum" /></td>
<td>Du bist</td>
<td><input type="text" value="<?PHP echo $_SESSION['myusername']; ?>" name="username" readonly/></td>
</tr>
<tr>
<td>Zeit von</td>
<td><input type="text" value="<?php echo date("H:i"); ?>" name="time_start" />
Uhr</td>
<td>Zeit bis</td>
<td><input type="text" value="<?php echo date("H:i"); ?>" name="time_end" />
Uhr</td>
</tr>
<tr>
<td>Ort</td>
<td><input name="ort" type="text" /></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>




<tr>
<td>Bemerkung</td>
<td><textarea name="bemerkung" cols="45" rows="5"></textarea></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="button" value=" OK " /></td>
<td>&nbsp;</td>
<td><p><a href="show_termine.php">Alle Termine anzeigen</a></p>
<p><a href="login_success.php">Eingabe abbrechen</a></p></td>
</tr>
</table>
</form>
<?PHP

} ?>
<p>&nbsp; </p>
</body>
</html>

2 Antworten

0 Punkte
Beantwortet von
soweit ich das kenne, muss man bei sql datenbanken alle änderungen mit einem commit abschliessen

dev.mysql.com/doc/refman/5.1/de/commit.html

LG
0 Punkte
Beantwortet von son_quatsch Experte (5.3k Punkte)
Ändere folgende Zeile:
mysql_query("INSERT INTO hrm_termine (datum, username, time_start, time_end, ort, bemerkung) VALUES ('$datum','$username''$time_start','$time_end','$ort','$bemerkung')");
...in diese zwei - dann siehst du etwaige Fehler:
$sql = "INSERT INTO hrm_termine (datum, username, time_start, time_end, ort, bemerkung) VALUES ('$datum','$username''$time_start','$time_end','$ort','$bemerkung')";
mysql_query( $sql ) or die( 'Fehler mit SQL-Kommando >>'. $sql. '<<: '. mysql_error() );
Du musst einfach immer und überall prüfen, ob Fehler auftreten - und nirgendwo stets den Gutfall erwarten.
...