PHP Problem

Alles, was PHP betrifft, kann hier besprochen werden.

PHP Problem

Postby fabsi » 06. September 2006 13:07

Hallo, ich hab mir ein Formular mit auswahlfelder gemacht, nur klappt da was nicht. Am Ende wird immer nur ein fehler ausgegeben. Hier ein teil vom code:

Code: Select all
$SQL = "INSERT INTO user (name, password, geschlecht, geburtstag, beitrag, datum, status, details,)
VALUES ('".$_REQUEST['name']."', '".$_REQUEST['password']."', '".$_REQUEST['geschlecht']."', '".$_REQUEST['geburtstag']."',
'".$_REQUEST['beitrag']."', '".$_REQUEST['datum']."', '".$_REQUEST['status']."', '".$_REQUEST['details']."')";
mysql_query($SQL, $DatabasePointer);


status ist aufzuwählen. Also unter den namen gibts zwei felder, aktiv oder inaktiv. Ist das so richtig oben angeben? Würde mich sehr über eine Hilfe freuen :)[/code]
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby Wiedmann » 06. September 2006 13:29

Am Ende wird immer nur ein fehler ausgegeben

Sollen wir raten?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby ManUnix » 06. September 2006 13:31

Hi fabsi,

hm, einfach mal das Komma hinter "details" weg?

Code: Select all
$SQL = "INSERT INTO user
   (name, password, geschlecht, geburtstag, beitrag, datum, status, details)
   VALUES (
      '".$_REQUEST['name']."',
      '".$_REQUEST['password']."',
      '".$_REQUEST['geschlecht']."',
      '".$_REQUEST['geburtstag']."',
      '".$_REQUEST['beitrag']."',
      '".$_REQUEST['datum']."',
      '".$_REQUEST['status']."',
      '".$_REQUEST['details']."'
   )";

mysql_query($SQL, $DatabasePointer);


Wenn's daran nicht liegt, wäre die Fehlermeldung nicht schlecht. :)

cu,
Manu
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby fabsi » 09. September 2006 19:32

Wiedmann wrote:
Am Ende wird immer nur ein fehler ausgegeben

Sollen wir raten?


Mh, hab mir es so gemacht, das es einen Text von mir auspuckt wenn der fehler kommt.

Übrigens: Hat geholfen, hab das Komma total übersehen. Vielen Dank!!
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby Wiedmann » 09. September 2006 19:45

hab mir es so gemacht, das es einen Text von mir auspuckt wenn der fehler kommt.

Irgendwie gab's heuet schonmal so einen Helden im Forum :-/

Also entweder du lässt dir den MySQL-Fehler ausgeben und teilst uns diesen mit, oder du musst dein Problem selber lösen.
-> Nur du weisst schliesslich, welche Ursache die von dir selbst erdachten Fehlermeldungen haben können. (Haben deine Fehlermeldungen keinen weiteren Sinn ausser (sinnlosen) Text auszugeben, kannst du sie dir auch sparen und wir kaufen uns statt dessen eine Gaskugel.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby fabsi » 09. September 2006 21:54

Ok, machs beim nächsten mal, aber jetzt hab ich wieder ein Problem :(
Ich lösche mit einem Forumlar Daten:

Code: Select all
$SQLString = "DELETE FROM user
           WHERE name = '".$_REQUEST['name']."'";


Wenn ich aber einen User, der im Namen ' beinhaltet funktioniert es nicht. Gibts da eine andere Art das zu herauszufiltern?
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby Wiedmann » 09. September 2006 21:59

Schonmal das PHP-Manual zu mysql_query() gelesen, bzw. das Beispiel was es dort gibt?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby fabsi » 09. September 2006 22:09

Irgendwie ist mir das noch zu schwierig :(
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby juergen&lx » 10. September 2006 06:44

Hi fabsi,

Wenn ich aber einen User, der im Namen ' beinhaltet funktioniert es nicht. Gibts da eine andere Art das zu herauszufiltern?


http://de2.php.net/manual/de/function.addslashes.php

Du must schon beim Eintragen in die Datenbank die Daten entsprechend aufbereiten:
Code: Select all
$SQL = "INSERT INTO user
   (name, password, geschlecht, geburtstag, beitrag, datum, status, details)
   VALUES (
      '".addslashes($_REQUEST['name'])."',
      '".$_REQUEST['password']."',
      '".$_REQUEST['geschlecht']."',
      '".$_REQUEST['geburtstag']."',
      '".$_REQUEST['beitrag']."',
      '".$_REQUEST['datum']."',
      '".$_REQUEST['status']."',
      '".$_REQUEST['details']."'
   )";

Jürgen
juergen&lx
 
Posts: 154
Joined: 18. February 2004 21:36
Location: in einem Dorf am Rande des Strombergs
Operating System: Linux

Postby fabsi » 10. September 2006 11:49

Mh wenn ich das mit DELETE Versuche bekomm ich immer Fehler 0.

Code: Select all
$SQLString = "DELETE FROM user
           WHERE name = '".addslashes($_REQUEST['name'])."'";


Hab ich was falsch gemacht?
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby juergen&lx » 10. September 2006 15:46

juergen&lx wrote:Du must schon beim Eintragen in die Datenbank die Daten entsprechend aufbereiten:
Code: Select all
$SQL = "INSERT INTO user
   (name, password, geschlecht, geburtstag, beitrag, datum, status, details)
   VALUES (
      '".addslashes($_REQUEST['name'])."',
      '".$_REQUEST['password']."',
      '".$_REQUEST['geschlecht']."',
      '".$_REQUEST['geburtstag']."',
      '".$_REQUEST['beitrag']."',
      '".$_REQUEST['datum']."',
      '".$_REQUEST['status']."',
      '".$_REQUEST['details']."'
   )";

Jürgen

Eintragen heißt bei Datenerfassung (abspeichern).

Zum löschen:
Versuchs mal ohne '
Code: Select all
$SQLString = "DELETE FROM user WHERE name = ".addslashes ( $_REQUEST['name'] ).";
juergen&lx
 
Posts: 154
Joined: 18. February 2004 21:36
Location: in einem Dorf am Rande des Strombergs
Operating System: Linux

Postby fabsi » 10. September 2006 15:56

Dann kommt ein Fehler,
Parse error: parse error, unexpected T_STRING on line 15.


Line 15: $Ergebnis = mysql_db_query("datenbank", $SQLString,$Verbindung);

Was ist falsch? :S
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby ManUnix » 10. September 2006 16:02

Hi,

fabsi wrote:Was ist falsch? :S

Code: Select all
$SQLString = "DELETE FROM user WHERE name = ".addslashes ( $_REQUEST['name'] );


Punkt und Anführungszeichen am Ende braucht's hier nicht, wenn man sie doch haben will, dann braucht's zwei Anführungszeichen nach dem Punkt.

cu,
Manu
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Postby fabsi » 10. September 2006 16:18

Mh, jetzt hab ich den Fehler, nachdem ich was ins Formular eingegeben hab:

Fehler: 1054
Meldung: Unknown column 'wort' in 'where clause'
fabsi
 
Posts: 20
Joined: 05. September 2006 15:36

Postby ManUnix » 10. September 2006 16:33

fabsi wrote:
Fehler: 1054
Meldung: Unknown column 'wort' in 'where clause'


Gibt's denn das Feld "wort" in der Tabelle?
User avatar
ManUnix
 
Posts: 113
Joined: 16. April 2006 15:14

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 8 guests