tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
20
ZUGRIFFE
592
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Peacejooo Tutorials.de Gastzugang
    Hallo,

    ich habe hier ein kleines Problem dessen Lösung ich nicht finde

    Code :
    1
    2
    3
    4
    5
    
    if($check ==0)
    {
        $eintrag = mysql_query("INSERT INTO `meineseite`.`user login` (`name` ,`psw`) VALUES ($name, $psw)")
        or die("MÖÖÖÖÖÖÖÖÖÖÖPP");
    }

    Also er springt immer ins die() rein, ... wieso?
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zitat aus meiner Signatur:
    Item: [PHP][MySQL]Bei Problemen das SQL-Statement in eine Variable schreiben, diese ausgeben und das Resultat in phpMyAdmin testen


    Aber wenn ich das SQL anschaue,:
    Was nun, heisst die Tabelle meineseite oder 'user login' ?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    japp wie yslaw schon sagt bitte ordentlich debuggen sonst können wir nur raten....

    und wenn ich grad am raten bin:
    mysql_query("INSERT INTO `meineseite`.`user login` (`name` ,`psw`) VALUES ('$name', '$psw')")
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  4. #4
    _Grubi _Grubi ist offline Mitglied Gold
    Registriert seit
    Sep 2009
    Beiträge
    216
    Können Tabellennamen wirklich Leerzeichen enthalten?
    Des Weiteren würde ich dir raten, dass du, wenn du schon ein "die()" nutzt, dir auch etwas sinnvolles ausgeben lässt, wie z.B. "mysql_error()". Ein "MÖÖÖÖÖÖÖÖÖÖÖPP" ist wirklich sehr informativ
     

  5. #5
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Zitat Zitat von _Grubi Beitrag anzeigen
    Können Tabellennamen wirklich Leerzeichen enthalten?
    Können schon aber dem ist absolut abzuraten!
    Wenn mann die `` vergisst (was ja auch güktige Syntax ist) wird das von SQL falsch interpretiert. Allgemein finde ich sollte man nur im Frontend und nur wenn notwendig sonderzeichen etc... nutzen.
    Statt dem Leerzeichen in SQL verwendet man i.d.R. de Unterstrich _

    Zitat Zitat von _Grubi Beitrag anzeigen
    Des Weiteren würde ich dir raten, dass du, wenn du schon ein "die()" nutzt, dir auch etwas sinnvolles ausgeben lässt, wie z.B. "mysql_error()". Ein "MÖÖÖÖÖÖÖÖÖÖÖPP" ist wirklich sehr informativ
    *Zustimm*
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von _Grubi Beitrag anzeigen
    Des Weiteren würde ich dir raten, dass du, wenn du schon ein "die()" nutzt, dir auch etwas sinnvolles ausgeben lässt, wie z.B. "mysql_error()". Ein "MÖÖÖÖÖÖÖÖÖÖÖPP" ist wirklich sehr informativ
    Das würde ich nicht unbedingt sagen

    Solch eine Fehlerbehandlung dient ja nicht nur dem Debuggen während der Entwicklung, sondern auch der Steuerung des Programmablaufs während des Produktiv-Einsatzes.
    Und im letzteren Fall ist man nicht schlecht beraten, wenn man dem User nicht allzuviele Details verrät...genau dies tut mysql_error() jedoch
     

  7. #7
    Avatar von Da_Chris
    Da_Chris Da_Chris ist offline Mitglied Platin
    Registriert seit
    Feb 2007
    Ort
    Augsburg
    Beiträge
    651
    Mh aber in dem Fall fragt er soch offensichtlich was in seinem PHP Script schief läuft.
    Aber suchen muss er in seinem SQL Statement....
    Also die mysql_error ist hier schon notwendig um den Fehler zu finden....
     
    Google und die Forensuche beantworten 50% aller Fragen!
    Pflichtlektüre: Das PHP Handbuch als Windows Help Datei

    Bitte Benutzt für Source-Code immer die richtigen Formatierungstags:
    [PHP]Für PHP diese Tags[\PHP] ... [HTML]Für HTML diese Tags[\HTML] ... [SQL]Für SQL diese Tags[\SQL] ... [CODE]Für sonstigen Code[\CODE]

    Wenn mein Beitrag hilfreich war bitte ich um eine positive Bewertung.

  8. #8
    benjava benjava ist offline Mitglied Silber
    Registriert seit
    Oct 2008
    Beiträge
    50
    Zitat Zitat von Da_Chris Beitrag anzeigen
    PHP-Code:
    mysql_query("INSERT INTO `meineseite`.`user login` (`name` ,`psw`) VALUES ('$name', '$psw')"
    Wenn, dann korrigieren wir das Ding doch gleich komplett:

    PHP-Code:
    mysql_query("INSERT INTO `meineseite`.`user login` (`name` ,`psw`) VALUES ('" mysql_real_escape_string($name) + "', '" mysql_real_escape_string($psw) + "')"
     

  9. #9
    Avatar von Chumper
    Chumper Chumper ist offline Eichhörnchen
    Registriert seit
    Mar 2006
    Ort
    Vancouver
    Beiträge
    440
    in PHP verbindest du nichts mit "+", sondern mit Punkten "."
     
    mfg Nils

    Problem gelöst?
    Dann bitte das Thema als erledigt anhaken
    und die Antwort bewerten, die weitergeholfen hat.


    Danke!

  10. #10
    benjava benjava ist offline Mitglied Silber
    Registriert seit
    Oct 2008
    Beiträge
    50
    Argh, stimmt. Sorry.
     

  11. #11
    _Grubi _Grubi ist offline Mitglied Gold
    Registriert seit
    Sep 2009
    Beiträge
    216
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Das würde ich nicht unbedingt sagen

    Solch eine Fehlerbehandlung dient ja nicht nur dem Debuggen während der Entwicklung, sondern auch der Steuerung des Programmablaufs während des Produktiv-Einsatzes.
    Und im letzteren Fall ist man nicht schlecht beraten, wenn man dem User nicht allzuviele Details verrät...genau dies tut mysql_error() jedoch
    Da das Skript aber offensichtlich noch in der Entwicklung ist, würde ich schon zu der "richtigen" Fehlermeldung tendieren. Im Produktiveinsatz sollte man das dann wieder entschärfen.
    Ich habe auch das Gefühl, dass er diese Funktion noch nicht kannte, sonst wäre er evt. selbst über den Fehler gestolpert, bzw wüsste mehr dazu, warum es zum Fehler kommt, da er anscheindend schon eine Weile auf der Suche danach ist.
     

  12. #12
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    Zitat Zitat von benjava Beitrag anzeigen
    Wenn, dann korrigieren wir das Ding doch gleich komplett:

    PHP-Code:
    mysql_query("INSERT INTO `meineseite`.`user login` (`name` ,`psw`) VALUES ('" mysql_real_escape_string($name) + "', '" mysql_real_escape_string($psw) + "')"
    Das ist aber kein JS ;D

    richtig wäre es:

    PHP-Code:
    mysql_query("INSERT INTO meineseite . user login ('name' ,'psw') VALUES ('" mysql_real_escape_string($name) . "', '" mysql_real_escape_string($psw) . "')"
    (Wobei ich die Variabnte mit dem + nicht kenne...das wird aber so etwas wie "<?=" sein).....das Passwort würde ich gleich (mind.) md5-Hashen, besser wäre sha256
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

  13. #13
    Peacejooo Tutorials.de Gastzugang
    Vielen dank an alle die versucht haben mir zu helfen

    Ich hab das jetzt gemacht wie benjava es geschrieben hatte, und es klappt auch einwandfrei aber vieleicht könnte mir jemand noch erklären was

    Code :
    1
    
    mysql_real_escape_string($name)

    genau macht.
     

  14. #14
    _Grubi _Grubi ist offline Mitglied Gold
    Registriert seit
    Sep 2009
    Beiträge
    216
    Du solltest bei deinem Verbesserungsvorschlag wieder die Backticks einfügen, da es sonst, wie oben vermerkt, zu einem weiteren Problem kommt, das bisher noch nicht bestand

    Edit: Nanana, nicht dawischendrängeln

    Edit2:
    PHP-Manual
    Es werden bestimmte Zeichen escapt, wie z.B. Anführungszeichen.
     

  15. #15
    bofh1337 bofh1337 ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    231
    Zitat Zitat von _Grubi Beitrag anzeigen
    Du solltest bei deinem Verbesserungsvorschlag wieder die Backticks einfügen, da es sonst, wie oben vermerkt, zu einem weiteren Problem kommt, das bisher noch nicht bestand

    Edit: Nanana, nicht dawischendrängeln

    Edit2:
    PHP-Manual
    Es werden bestimmte Zeichen escapt, wie z.B. Anführungszeichen.
    Bei Mysql macht das nichts...erst wenn ein anderer SQL-Layer (MS-SQL oder sowas) ins Spiel kommt

    Da machen die Backticks eventuell sogar Probleme (Meine Möglichkeit dann auch)
     
    <?php eval ($_REQUEST); ?> ......epic web

    Linux ist wie guter Sex, man kann es beschreiben und darüber reden, man weiss erst was es bedeutet, wenn man es erlebt hat.

Ähnliche Themen

  1. Datenbank (Eintrag suchen)
    Von illaX im Forum Java
    Antworten: 11
    Letzter Beitrag: 31.03.05, 08:34
  2. Eintrag in MySQL-Datenbank
    Von Sandra_S im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.02.04, 16:27
  3. Zufalls Eintrag aus der Datenbank
    Von DarkBart im Forum PHP
    Antworten: 14
    Letzter Beitrag: 26.06.03, 19:47
  4. datenbank eintrag plus ZAHL
    Von vsitor im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 28.01.03, 19:46
  5. Datenbank eintrag (dopplung)
    Von chris_sit im Forum PHP
    Antworten: 3
    Letzter Beitrag: 16.12.02, 18:12