kostenloser Webspace werbefrei: lima-city


WHERE Klausel aus Formular

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    bazic

    bazic hat kostenlosen Webspace.

    hallo

    habe folgendes erstellt:

    $Name=$HTTP_POST_VARS['Name'];
    
      $abfrage = "SELECT Id, Name, Telefonnummer, FROM daten where Name LIKE '$Name'";
      $ergebnis = mysql_query($abfrage);
      $row = mysql_fetch_object($ergebnis)


    der user gibt in ein Formular den Namen ein von den daten die editiert werden sollen.
    jetzt soll aus der datenbank die daten gelesen werden von dem Namen den der user vorher eingetragen hat.
    Alles sch?n und gut. jetzt ist nur das problem so wie das script oben ist mit where Name LIKE '$Name' in den input boxen nichts eingetragen wird. ersetze ich den $Name z.B. durch M?ller zeigt er mir aber alle Daten von M?ller an.

    Ich hoffe es kann mir jemand schnell helfen. ich denke mal das es an der syntax in der abfrage liegt
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Lass mal die einfachen Anf?hrungszeichen in dem SQL statement weg! Alsoi:
    ... where Name LIKE $Name ...
  4. Das w?rde ich nicht empfehlen.
    Der User soll ja einen ganz bestimmten Namen ersetzen und nicht nur einen, der so ?hnlich ist wie der eingegebene, oder?
    Ersetze die Stelle lieber so:
    WHERE Name='".$Name."'";
  5. Autor dieses Themas

    bazic

    bazic hat kostenlosen Webspace.

    das mit den anf?hrungszeichen hatte ich schon probiert bevor ich hier gepostet hatte

    die andere l?sung hab ich jetzt drin aber geht trotzdem nicht

    liegt es vielleicht an der ausgabe?

    <input type="text" size="20" name="Name" value="<? echo $row->Name; ?>">

    kann ich so dann das ergebnis reinschreiben in die input box?
  6. c*********c

    Huhu!

    Eine m?gliche Ursache f?r die Fehlfunktion k?nnte das ?berfl?ssige Komma nach "Telefonnummer" sein.

    Des Weiteren rate ich dir, zu ?berpr?fen, ob die Abfrage erfolgreich gewesen ist:

    // Code
    $ergebnis = mysql_query($abfrage);
    
    if($ergebnis != false)
    {
    print('Fehler in der Abfrage. Mysql meldet: '. mysql_error());
    }
    else
    {
    print('Erfolgreiche Abfrage etc.');
    }


  7. Autor dieses Themas

    bazic

    bazic hat kostenlosen Webspace.

    also er gibt dann folgendes zur?ck: Fehler in der Abfrage. Mysql meldet:
    soll da nicht normalerweise noch ne sch?ne fehlermeldung von mysql danach kommen?


    das , hatte ich weggemacht geht aber trotzdem nicht

    Beitrag ge?ndert am 16.03.2006 19:48 von bazic
  8. t****u

    Es muss auch == und nicht != hei?en!
    Au?erdem war in der Abfrage nach Telefonnummer ein unn?tiges Komma.

    Du solltest ber?cksichtigen, dass der User auch vorhaben k?nnte, deine Datenbank zu manipulieren (Keine Probleme mehr durch mxsql_escape_string) oder dass es mehrere Ergebnisse geben k?nnte.

    Der folgende Code wird dir weiterhelfen.
    $name = mysql_escape_string($_REQUEST[name]);
    $abfrage = 'SELECT Id, Name, Telefonnummer FROM daten WHERE Name LIKE "'.$name.'" OR Name ="'.$name.'" OR Name LIKE "%'.$name.'" OR Name LIKE "'.$name.'%" OR Name LIKE "%'.$name.'%"';
    $query = mysql_query($abfrage);
    if($query == false)
    {
    	print('Fehler in der Abfrage. Mysql meldet: '. mysql_error());
    }
    else
    {
    	print('Erfolgreiche Abfrage etc.');
    	while ($result=mysql_fetch_row($query))
    	{
    #		Id Name Telefonnummer
    		echo $result[0].$result[1].$result[2];
    	}
    }


    Beitrag ge?ndert am 16.03.2006 20:17 von tuvalu
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!