PHP -> MYSQL Insert geht nicht
-
Hab ein Problem. Bei den Formular soll man den Code eingeben also INSERT INTO.... und dann soll eben die VALUES in die Tabelle geschrieben werden. Wenn ich das manuel mache geht es, aber nicht wenn ich es über Formular mache. Da steht dann immer Query was empty.
Hier mal der Code:
<html> <table border="1" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0"> <tr> <td>Eingeben: INSERT INTO tabellenname VALUES() <br> <INPUT type="text" name="Insert" size="40"> </td> <form action="" method="POST"> <tr> <td><INPUT type="submit" name="Absenden" value="Einfuegen"> </form> <form action="eingeloggt.php"> <tr> <td><INPUT type="submit" name="Zurueck" value="Zurueck"> </form> <?php if(isset($_POST['Absenden']) && $_POST['Absenden'] == 'Einfuegen') { $Pass=$_COOKIE['pwd']; $Us=$_COOKIE['user']; $Eingabe=$_POST['Insert']; mysql_connect("10.22.5.2","$Us","$Pass"); mysql_select_db("lango"); mysql_query($Eingabe); // Hier das geht nicht!!! if (mysql_errno()) echo mysql_error(); if($eintragen == true) { echo "Eintrag war erfolgreich"; } else { echo "Fehler beim Speichern"; } } ?> </td> </tr> </body> </html>
-
1. Sei mal froh das dies nicht geht.
Kann dir dadurch auch die DB löschen. Na egal. Wirst schon wissen warum du das so machst.2. Das Textfeld ist nicht in der Form drin.
-
Wenn ich nur eine Zahl eingebe geht es aber nicht bei Strings! Steht immer Syntax Error.
<html> <table border="1" cellpadding="5" cellspacing="0" bgcolor="#E0E0E0"> <form action="tabelleeinfueg.php" method="POST"> <tr> <td>Eingeben: INSERT INTO tabellenname VALUES() <br> <INPUT type="text" name="einf" size="35"> </td> <tr> <td><INPUT type="submit" name="Absenden" value="Einfuegen"> </form> <form action="eingeloggt.php"> <tr> <td><INPUT type="submit" name="Zurueck" value="Zurueck"> </form> <?php $Pass=$_COOKIE['pwd']; $Us=$_COOKIE['user']; $Eingab=$_POST['einf']; if(isset($_POST['Absenden']) && $_POST['Absenden'] == 'Einfuegen') { mysql_connect("10.22.5.2","$Us","$Pass"); mysql_select_db("lango"); mysql_query($Eingab); if (mysql_errno()) echo mysql_error(); } ?> </td> </tr> </body> </html>
-
Was gibst du denn genau ein.
Ein String in einem RDBMS muss mit Hochkomma eingeschlossen sein.
INSERT INTO XXX VALUES(XXXX) ('String')
INSERT INTO XXX VALUES(XXXX) (5)
-
Gib das ein:
INSERT INTO x VALUES('Bob')
Mit ; und ohne es geht nicht. Nur mit Zahlen.
-
Deine Formulare sind immer noch kaputt. Der Submitbutton ist jetzt in einem anderen Formular als das Textfeld.
-
Hm komisch. Das ist doch richtig oder nicht OO
<form action="tabelleeinfueg.php" method="POST"> <tr> <td>Eingeben: INSERT INTO tabellenname VALUES() <br> <INPUT type="text" name="einf" size="35"> </td> <tr> <td><INPUT type="submit" name="Absenden" value="Einfuegen"> </form>
-
So ja (jedenfalls fast, wäre besser, das Formular um die ganze Tabelle drumrumzumachen).
Im Post davor waren aber zwei separate Formulare, das eine schickt dann nur den Submitbutton, das andere nur das Textfeld.
gehts immer noch nicht? mach mal ein var_dump($_POST) drüber.
-
Dis ist kein Datenbankproblem.
Du hast eher Probleme mit HTML und PHP
-
Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum Datenbanken in das Forum Webzeugs verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.