Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Daten einfügen in Datenbank

Empfohlene Antworten

Veröffentlicht

Hallo Leutz,

wollte mit PHP Daten in meine DB einfügen leider klappt es nicht. Es werden immer alle Felder geleert. In der DB ist nichts zu finden, was ist falsch.

Habe Foxserv zu laufen.

Hier mein Script:

<html>

<head>

<?php

if ($gesendet)

{

$db = mysql_connect("localhost","test,"test");

$sqlab = "insert personen";

$sqlab .= "(name, vorname, personalnummer,";

$sqlab .= " gehalt, geburtstag) values ";

$sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";

mysql_db_query("test", $sqlab);

$num = mysql_affected_rows();

if ($num>0)

echo "Es wurde 1 Datensatz hinzugefügt<p>";

else

{

echo "Es ist ein Fehler aufgetreten, ";

echo "es wurde kein Datensatz hinzugefügt<p>";

}

mysql_close($db);

}

?>

</head>

<body>

Geben Sie einen vollständigen Datensatz ein und senden Sie das

Formular ab:

<form action = "test.php" method = "post">

<input name="na"> Name<p>

<input name="vn"> Vorname<p>

<input name="pn"> Personalnummer (eine ganze Zahl)<p>

<input name="ge"> Gehalt (Nachkommastellen mit Punkt)<p>

<input name="gt">

Geburtsdatum (in der Form JJJJ-MM-TT)<p>

<input type="submit" name="gesendet">

<input type="reset">

</form>

Alle Datensätze <a href="uf07.php">anzeigen</a>

</body>

</html>


<html>
<head>
<?php
if ($gesendet)
{
$db = mysql_connect("localhost","test","test");

$sqlab = "insert into personen "; //leerzeile am Ende und das 'into' hamm gefehlt...
$sqlab .= "(name, vorname, personalnummer,";
$sqlab .= " gehalt, geburtstag) values ";
$sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";

mysql_db_query("test", $sqlab) or die(mysql_error()); // hier falls fehler auftreten, diese ausgeben

$num = mysql_affected_rows();
if ($num>0)
echo "Es wurde 1 Datensatz hinzugefügt<p>";
else
{
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt<p>";
}
mysql_close($db);
}
?>
</head>

<body>
Geben Sie einen vollständigen Datensatz ein und senden Sie das
Formular ab:
<form action = "test.php" method = "post">
<input name="na"> Name<p>
<input name="vn"> Vorname<p>
<input name="pn"> Personalnummer (eine ganze Zahl)<p>
<input name="ge"> Gehalt (Nachkommastellen mit Punkt)<p>
<input name="gt">
Geburtsdatum (in der Form JJJJ-MM-TT)<p>
<input type="submit" name="gesendet">
<input type="reset">
</form>

Alle Datensätze <a href="uf07.php">anzeigen</a>
</body>
</html>
[/PHP]

Gruß,

Markus

Edit:

Hm anhand des Syntax highlightings würd ich sagne da ist irgendwo noch ne offene Zeichenkette,...

Edit 2:

hab ihn gefunden.. oben beim connect()...

Schonmal ueberprueft ob Deine Variablen

$na', '$vn', $pn, $ge, '$gt'

auch alle gueltig bzw. das da drin steht was auch drin stehen soll ?

Ist register_globals in der php.ini deaktiviert ? Dann naemlich:


$na = $_REQUEST['na'];
$vn = $_REQUEST['vn'];
$pn = $_REQUEST['pn'];
$ge = $_REQUEST['ge'];
$gt = $_REQUEST['gt'];
[/php]

Gruessle

bio*

Wo muss ich das Eintragen.

In meiner php.ini steht nichts.

Kann mir mal einer ein Beispiel schicken, wie ich Daten eintrage!

Habe zwei Bücher und mit beiden klappt es nicht. :-(

... wuerde ich das so machen


<html>
<head>
</head>
<body>
<?php

$nav = $_REQUEST['nav'];
$na = $_REQUEST['na'];
$vn = $_REQUEST['vn'];
$pn = $_REQUEST['pn'];
$ge = $_REQUEST['ge'];
$gt = $_REQUEST['gt'];

if (isset($nav) || $nav == 'gesendet') {
$db = mysql_connect("localhost","test","test");

$sqlab = "INSERT INTO personen (name, vorname, personalnummer,gehalt, geburtstag) VALUES ";
$sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";

mysql_db_query("test", $sqlab) or die(mysql_error());

$num = mysql_affected_rows();
if ($num>0) {
echo "Es wurde 1 Datensatz hinzugefügt<p>";
} else {
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugefügt<p>";
}
mysql_close($db);
}
?>

<h4>Geben Sie einen vollständigen Datensatz ein und senden Sie das Formular ab:</h4>
<form action = "test.php" method = "post">
<input name="na">Name<p>
<input name="vn">Vorname<p>
<input name="pn">Personalnummer (eine ganze Zahl)<p>
<input name="ge">Gehalt (Nachkommastellen mit Punkt)<p>
<input name="gt">Geburtsdatum (in der Form JJJJ-MM-TT)<p>
<input type="submit" value="send">
<input type="hidden" name="nav" value="gesendet">
<input type="reset">
</form>

<p<Alle Datensätze <a href="uf07.php">anzeigen</a></p>
</body>
</html>
[/php]

Hab es nicht getestet, hoffe es laeuft so.

Gruessle

bio*

... Hast Du's schonmal mit nem commit versucht?? *duck*

Bin leider kein PHP Pro, weiß also nicht, ab das implizit ist...

... Hast Du's schonmal mit nem commit versucht?? *duck*

Bin leider kein PHP Pro, weiß also nicht, ab das implizit ist...

MySQL braucht kein "Commit"

Gruessle

bio*

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.