Problem mit Formular, das Daten in einer Datenbank speichern soll

Code:
 Incorrect database name 'insert into aufgabenverwaltung values ({0}, sddas, fibu, 21, 21, 2007-10-16, bearbeitet, hoch, asd'

Auf Basis meiner Englischkenntnisse würde ich mal vermuten, dass da der Datenbankname falsch ist. Genau deswegen solltest du auch den Inhalt der config.php posten, in welcher anscheinend die Verbindungsdaten stehen.

Im Übrigen müssen die Values bei dem Insert in Anführungszeichen stehen, egal was für welche...
Zur Fehlerdiagnose gebe dir doch einfach mal den String aus und poste ihn hier, soo findest du heraus welche Query nun in der Datenbank ausgeführt wurde und kannst entsprechende Schlüsse daraus ziehen, wo der Fehler liegt.

Code:
print $dbanfrage = "INSERT into aufgabenverwaltung VALUES ({0}, {$_POST['bzs']}, {$_POST['b_bzs']}, {$_POST['id_bzs']}, {$_POST['id_erf']}, 
{$_POST['date']}, {$_POST['stat']}, {$_POST['prio']}, {$_POST['beschr']}, {$_POST['adr']})";

Lg Joe
 
Zuletzt bearbeitet:
Code:
 Incorrect database name 'insert into aufgabenverwaltung values ({0}, sddas, fibu, 21, 21, 2007-10-16, bearbeitet, hoch, asd'

[...]

Im Übrigen müssen die Values bei dem Insert in Anführungszeichen stehen, egal was für welche...

zu 1.) Sieht doch fast so aus als ob versehentlich...
mysql_select_db($query); aufgerufen wird?

2.) Nein, nicht alle values müssen in Hochkomma/Anführungszeichen stehen in einem Insert Query (gilt generell für alle Querys).
Integer, float, Enum, ... Werte dürfen nicht in Hochkomma gewrapped sein (ich behaupte allerdings auch nicht das es nicht funktionieren könnte ;-))
 
2.) Nein, nicht alle values müssen in Hochkomma/Anführungszeichen stehen in einem Insert Query (gilt generell für alle Querys).
Integer, float, Enum, ... Werte dürfen nicht in Hochkomma gewrapped sein (ich behaupte allerdings auch nicht das es nicht funktionieren könnte ;-)

ok, kann sein, dass das bei Zahlen nicht unbedingt von Nöten ist. Ich mache das schon immer so und habe damit aber auch keinerlei Probleme. :P

wichtig ist das die Query am Ende im richtigen Format so in die Datenbank geht, wenn man noch die Datentypen beachtet:
Code:
INSERT INTO tabellenname (spalte1,spalte2,spalte3) VALUES (zahl, "string", "string")

Aufgabe ist es diesen da hin zu bekommen undzwar in genau in diesem Format, wie man das mit PHP tut ist eher sekundär.

Viel Spass

Gruss Joe
 
Zuletzt bearbeitet:
Ich hab das problem noch immer nicht gelöst. Hab sogar jetzt einen anderen Code in der ok.php Datei verwendet. Diesen hab ich aus einem Forum, und hab ihn mit meinen Daten angepasst, in der hoffnung, das dieser funktioniert. Er sieht volgendermaßen aus:

PHP:
<html>
<head>

<title>Unbenanntes Dokument</title>
</head>

<?php

  ini_set('display_errors', 1);
  ini_set('error_reporting', E_ALL);


include 'config.php';

 if( isset($_POST['submit']) ) { 
	$db = mysql_connect ($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS);
	mysql_select_db($MYSQL_DATABASE, $db);  


  $query = '
            INSERT INTO
                    `aufgabenverwaltung`
              SET
					`Bezugssystem`  = "'.mysql_real_escape_string($_POST['bzs']).'",
					`Bereich` = "'.mysql_real_escape_string($_POST['b_bzs']).'",
					`Datensatz-ID`   = "'.mysql_real_escape_string($_POST['id_bzs']).'",
					`Erfasser`   = "'.mysql_real_escape_string($_POST['id_erf']).'",
					`Datum`   = "'.mysql_real_escape_string($_POST['date']).'",
					`Status`   = "'.mysql_real_escape_string($_POST['stat']).'",
					`Prio`   = "'.mysql_real_escape_string($_POST['prio']).'",
					`Beschreibung`   = "'.mysql_real_escape_string($_POST['beschr']).'",
					`Adressat`   = "'.mysql_real_escape_string($_POST['adr']).'",
            '; 

  $result = mysql_query($query, $db)
            or die(mysql_error());
        echo '<p>Datenbankeintrag erfolgreich.</p>';

    } else {

		echo mysql_error();  

    }

?>


<body>

</body>
</html>


Das einzige, was sich geändert hat, ist die Fehlermeldung. Jetzt taucht folgende auf:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 12

Hat hiermit jemand Erfahrung? schon langsam bin ich am verzweifeln :(
 
PHP:
`Adressat`   = "'.mysql_real_escape_string($_POST['adr']).'",

Ich bin mir da jetzt nicht sicher ab das Komma am Ende gehört da nicht hin. (?)
Also nur in der letzten Zeile.
 
Sorry Naddl150, aber ich hab mal deinen Code übernommen und für mich umgestaltet..es funktioniert, aber es sind keine Datensätze in meiner Datenbank. Auch gibt er mir keinen Fehler aus..weiß jemand woran es liegen könnte? Bzw. wie an eine Fehlermeldung, etc, um der Ursache näher zu kommen, rankomm?
Vielleicht an den Kollationen Sind nämlich für die MySQL-Verbindung eine andere wie für die Datenbank bzw. Tabelle..
 
Bei mir werden die Datensätze gleich in der Datenbank gespeichert und natürlich auhc ausgegeben. Ich kopier dir den Code nochmal:

Formular zur Eingabe der Datensätze:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>
<?php 

$datum = date("Y-m-d", time());


?>

<body>
<form name="form1" method="post" action="ok.php">
  <table width="438" border="0">
    <tr>
      <td width="200">Bezugssystem </td>
      <td width="228"><input name="bzs"></td>
    </tr>
    <tr>
      <td>Bereich im Bezugssystem</td>
      <td><input name="b_bzs"></td>
    </tr>
    <tr>
      <td>Datensatz-ID im Bezugssystem </td>
      <td><input name="id_bzs"></td>
    </tr>
    <tr>
      <td>ID Erfasser der Aktivit&auml;t </td>
      <td><input name="id_erf"></td>
    </tr>
    <tr>
      <td>Datum der Erfassung</td>
      <td><input name="date" value = "<?php echo $datum ?>"></td>
    </tr>
    <tr>
      <td>Status</td>
      <td><select name="stat">
        <option value="bearbeitet">in Bearbeitung</option>
        <option value="beendet">Beendet</option>
        <option value="offen">Offen</option>
      </select></td>
    </tr>
    <tr>
      <td>Prio</td>
      <td><select name="prio">
        <option value="Hoch">Hoch</option>
        <option value="Normal">Normal</option>
        <option value="Niedrig">Niedrig</option>
            </select></td>
    </tr>
    <tr>
      <td>Beschreibung</td>
      <td><textarea name="beschr"></textarea></td>
    </tr>
    <tr>
      <td>Adressat</td>
      <td><input name="adr"></td>
    </tr>
  </table>
  <input type="submit" name="submit" value="submit">
  <p>&nbsp;</p>
</form>
<br>
<br>


<a href="index.php">Zurück....</a>
</body>
</html>


Datensätze speichern:

PHP:
<html>
<head>

<title>Unbenanntes Dokument</title>
</head>

<?php

  ini_set('display_errors', 1);
  ini_set('error_reporting', E_ALL);


include 'config.php';

 if( isset($_POST['submit']) ) { 
	$db = mysql_connect ($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS);
	mysql_select_db($MYSQL_DATABASE, $db);  


  $query = '
            INSERT INTO
                    `aufgabenverwaltung`
              SET
					`bezugssystem`  = "'.mysql_real_escape_string($_POST['bzs']).'",
					`bereich` = "'.mysql_real_escape_string($_POST['b_bzs']).'",
					`datensatz`   = "'.mysql_real_escape_string($_POST['id_bzs']).'",
					`erfasser`   = "'.mysql_real_escape_string($_POST['id_erf']).'",
					`datum`   = "'.mysql_real_escape_string($_POST['date']).'",
					`status`   = "'.mysql_real_escape_string($_POST['stat']).'",
					`prio`   = "'.mysql_real_escape_string($_POST['prio']).'",
					`beschreibung`   = "'.mysql_real_escape_string($_POST['beschr']).'",
					`adressat`   = "'.mysql_real_escape_string($_POST['adr']).'"
            '; 

  $result = mysql_query($query, $db)
            or die(mysql_error());
        echo '<p>Datenbankeintrag erfolgreich.</p><br>';

    } else {

		echo mysql_error();  

    }

?>
		<a href="index.php">Zurück....</a>


<body>

</body>
</html>
 
Ich habe ja die datei von dir kopiert und an meine Bedürfnisse angepasst. Es kommt nuir ein leerer(weißer) Bildschirm. Es kommt keine Fehlermeldung und ich habe keine Datensätze in meiner Datenbank..es könnte/müsste an meinen Datentypen liegen vermute ich mal; aber ich finde es komisch dass dann trotz implementiertem mysql_error keine Fehlermeldung kommt..:confused:
 
du könntest ja deine tabellennamen inkl. typ herschreiben und deinen code mal reinkopieren, vll. fällt uns auf, was du falsch gemacht hast.
 
Zurück