Problem mit SQL (Formularanalyse)

Alles, was PHP betrifft, kann hier besprochen werden.

Problem mit SQL (Formularanalyse)

Postby the-chosen-one » 14. April 2006 12:40

Ich habe ein Formular angelegt und dieses sollte mit folgendem Skript analysiert werden. Beim Ausführen wird jedoch dieser Fehler angezeigt:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in S:\xampp\xampp\htdocs\aufgabe_schreiben.php on line 6


Sieht vieleicht jemand, was das Problem sein könnte?

Skript:

<?php
$db=mysql_connect("192.168.0.110","root","");
mysql_select_db("familie",$db);
mysql_query("
INSERT INTO `aufgabe` (`ID` , `Wer` , `Aufgabe` , `Bis` , `Prio` , `Datum`)
VALUES ('', $_GET['Wer'], $_GET['Aufgabe'], $_GET['Bis'], $_GET['Prio'], NOW('') )
", $db) ;
?>
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby Wiedmann » 14. April 2006 13:06

mysql_query("
INSERT INTO `aufgabe` (`ID` , `Wer` , `Aufgabe` , `Bis` , `Prio` , `Datum`)
VALUES ('', $_GET['Wer'], $_GET['Aufgabe'], $_GET['Bis'], $_GET['Prio'], NOW('') )
", $db) ;

IMHO:
Code: Select all
mysql_query("
    INSERT INTO `aufgabe` (`ID`, `Wer`, `Aufgabe`, `Bis`, `Prio`, `Datum`)
    VALUES (NULL, '{$_GET['Wer']}', '{$_GET['Aufgabe']}', '{$_GET['Bis']}', '{$_GET['Prio']}', NOW())
", $db) or die(mysql_error());


BTW:
Du solltest dich mal mit mysql_real_escape_string() beschäftigen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby the-chosen-one » 14. April 2006 13:26

Danke für die Antwort!
Ich habe das Skript jetzt geändert!
Leider kommt immer noch eine Fehlermeldung. Diesmal liegt es jedoch an der Verbindung ($db)


Fehler:
Warning: mysql_connect() [function.mysql-connect]: Host 'bsz-server' is not allowed to connect to this MySQL server in S:\xampp\xampp\htdocs\aufgabe_schreiben.php on line 2

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in S:\xampp\xampp\htdocs\aufgabe_schreiben.php on line 3

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in S:\xampp\xampp\htdocs\aufgabe_schreiben.php on line 7



Skript:
<?php
$db= mysql_connect("192.168.0.110","root","");
mysql_select_db("familie",$db);
mysql_query("
INSERT INTO `aufgabe` (`ID`, `Wer`, `Aufgabe`, `Bis`, `Prio`, `Datum`)
VALUES (NULL, '{$_GET['Wer']}', '{$_GET['Aufgabe']}', '{$_GET['Bis']}', '{$_GET['Prio']}', NOW())
", $db);
?>
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby Wiedmann » 14. April 2006 13:39

$db= mysql_connect("192.168.0.110","root","");
Warning: mysql_connect() [function.mysql-connect]: Host 'bsz-server' is not allowed to connect to this MySQL server

Tja, die Frage musst du dir selbst beantworten. Ich habe keine Ahnung welche Rechte du deinem "root" gegeben hast, bzw. ob überhaupt Verbindungen über TCP/IP zugelassen sind.

BTW:
Wieso benutzt du beim Connect nicht "localhost"?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby the-chosen-one » 14. April 2006 13:47

Danke! Das mit localhost hat funktioniert!

Leider schreibt er außer der ID keine Werte in die Tabelle :(

Ich bin verzwifelt... früher hat das alles viel einfacher geklappt.
Naja weißt du vielleicht woran das liegen kann?
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby Wiedmann » 17. April 2006 11:47

Leider schreibt er außer der ID keine Werte in die Tabelle

Welche Werte bekommst du denn über dein Formular? (das habe wir ja nie gesehen...)


BTW:
Das Datum sollte er doch eigentlich auch auf jeden Fall eintragen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby the-chosen-one » 17. April 2006 13:18

Ja sorry! Das habe ich vergessen zu sagen.
Er bekommt die ID und das Datum. Das heisst nur das, was automatisch kommen sollte und nicht im Formular eingetragen wurde!
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby gfaust » 18. April 2006 21:24

Hallo,

inzwischen dürftest Du das Problem zwar gelöst haben, aber....

Welche Übertragungsmethode hast Du denn für das Formular gewählt?

Im Allgemeinen nimmt man doch method="post" - in diesem Fall ist das $_GET-Array natürlich leer!

Guido
gfaust
 
Posts: 41
Joined: 06. December 2005 18:31

Postby the-chosen-one » 18. April 2006 21:46

Ehrlich gesagt habe ich früher programmiert, als PHP noch einfach war :)
Das heißt ich habe POST und GET nie benutzen müssen.

Es wäre deshalb sehr nett, wenn jemand von euch mir den Unterschied erklären könnte!
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby gfaust » 18. April 2006 23:34

Hallo,

die Antwort steht in der detuschsprachigen php-Referenz!

Nur ganz kurz und stark vereinfacht:

per GET übertragene Daten werden hinten an den Link angehangen,
per POST übertragene Daten siehst Du nicht (direkt)
gfaust
 
Posts: 41
Joined: 06. December 2005 18:31

Postby the-chosen-one » 19. April 2006 09:48

Super! Danke!
Jetzt habe ich es verstanden :)
Das Skript funktioniert auch.

Jetzt ist da nur noch ein kleiner Fehler!
Undzwar ist das Datum, das automatisch übertragen wird falsch!
Wo kann ich denn die "Uhr" wieder richtig einstellen?
the-chosen-one
 
Posts: 13
Joined: 11. April 2006 13:21

Postby Wiedmann » 19. April 2006 10:56

Undzwar ist das Datum, das automatisch übertragen wird falsch!

:?:

Wo kann ich denn die "Uhr" wieder richtig einstellen?

Sollte eigentlich in der Hilfe zu deinem OS drinstehen, wie man die Uhrzeit/Datum vom Rechner stellt.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to PHP

Who is online

Users browsing this forum: No registered users and 3 guests