Warum funzt dieser mysql fetch nicht?

  • hi
    warum zum geier funzt das hier nicht???


    kriege die Fehlermeldung:: Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web61/html/martin/main.php on line 37

    (zeile 37 ist die letzte).

    wenn ich es in eine andere datei mache und statt $_POST("user") nehme $user="blabla" dann funzt es, nur so nich, warum?

  • existiert die tabelle users und das feld username?
    anders könnte ich es mir nicht erklären, ich sehe keinen fehler..

  • hi
    ja username und passwort und feld users existiert alles. das ganze is in ner anderen datei auch ohne probleme gelaufen, nun hab ichs in die main datei reinkopiert und es kommt dieser sinnlose fehler. kann mir denn da keiner helfen? der nervt der fehler.

    mfg, iche

  • Hi,

    Zitat von schmidte


    $abfrage= "SELECT * FROM users WHERE username LIKE '$user' LIMIT 1";


    Soweit ich weiss, muss man Strings und Variablen mit dem Punkt-Operator verketten.

    Code
    $abfrage= "SELECT * FROM users WHERE username LIKE ".$user." LIMIT 1";


    Vielleicht liegt's daran.
    MfG
    6_freddy :)

  • Ja das stimmt an sich, aber es ist so wie es jett ist auch richtig. Es icht möglich innerhlab von " eine variabelel direkt ein zu binden ohne sie zu beenden.


    Also das ist nicht der Fehler.

  • Hi,
    dann müssen aber die einfachen Hochkommas weggelassen werden, oder?

    Code
    $abfrage= "SELECT * FROM users WHERE username LIKE $user LIMIT 1";

    Ist denn der LIKE-Operator da sinnvoll, oder wäre

    Code
    $abfrage= "SELECT * FROM users WHERE username=$user LIMIT 1";

    nicht besser?
    Und, da es sich um genau eine gesuchte Zeile handelt, wäre da nicht

    Code
    $row = mysql_fetch_row($ergebnis);

    sinnvoller?
    MfG
    6_freddy :)

  • nein die hochkommas solltest du nicht wegnehmen.

    da es sich ja um einen namen handelt!!!

    Bitte gucke dir nochmal genau sql an. und das like kann hier schon seinen grund haben.

    Es siht mir aus als hätte der mensch der dieses geschrieben hat ahnung von datenbanken gehabt.


    Ich bin mir zu 90% sicher das es daran liegt das du keine verbindung zum dbms aufbaust bzw die DB nicht korrect auswählst ( bzw der db user die rechte nicht hat )

  • Hi,

    GreenRover:
    Mit den Hochkommas hast Du Recht, wenn der Name "$user" lautet. Ich dachte, dass ist die Variable, in der am Anfang der Wert von "$_POST['user']" gespeichert wird. Und dann müssen die Hochkommas weg.

    MfG
    6_freddy

  • Hi
    so habs nun gefunden, bevor ihr euch weiter den Kopf zermartert :)
    So ein sinnloser kleiner Tippfehler hält mich 3 tage lang auf. Hab ihn jedes mal überlesen, das kotzt einen schon ein bisschen an.
    und er steht unten nich mal drinne :)
    die datenbank heißt usr_webXXXXXXX und ich hatte user_webXXX
    ich könnt echt durchdrehn wegen solchen sinnlosen fehlern.

    naja, danke für die hilfe

    so long, stay tuned

    mfg, iche