Denkfehler - SQL-Query kann leer sein

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Denkfehler - SQL-Query kann leer sein

    Hallo,

    ich glaub, ich steh auf dem Schlauch. Ist nur ne Kleinigkeit eigentlich:

    PHP-Code:
    $querybild=mysql_query("select id, objektnr, bildth1, bildth2, bildth3, bildth4, bildth5 from immo where objektnr=$objektnr");

    if (!
    mysql_num_rows($querybild))
    {
    echo
    "Keine Ergebnisse";

    Das Problem ist, daß in $objektnr durchaus eine Nummer stehen kann,
    die es nicht gibt, das ist korrekt.

    Mein Problem ist, wenn ich einen "or die" mache, bricht das Script ab.
    Wenn ich es so wie oben mit dem IF mache, kriege ich aber eine Warnung:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
    C:\usw.etc.pp.php on line 15

    Ich weiß selbst, daß das supplied argument kein valid MySQL result resource ist,
    aber genau das will ich ja prüfen!

    Es geht darum, festzustellen
    1) ist der Datensatz mit der Objektnummer vorhanden,
    2) wenn ja, sind außer der Objektnummer noch andere Einträge drin
    3) wenn auch ja, dann...usw.

    Ich meine, das schon einige Male gemacht zu haben - finde es
    aber nicht mehr.

    Wenn ich einfach die Warnung unterdrücke, ist alles prima, genau so soll es funzen.
    Aber ich hätte gern eine sauberere Lösung...
    Gruß, Coni
    ~~ codito ergo sum - ich code, also bin ich! ~~

  • #2
    PHP-Code:
    $querybild mysql_query("...") or die(mysql_error()); 
    Auch wenn die Ergebnismenge leer ist, gibt mysql_num_rows keinen Fehler, wenn die Query richtig war. D.h. Deine Query ist fehlerhaft.
    ich glaube

    Kommentar


    • #3
      Hm, dachte der wär richtig - wenn ich den Query nämlich in das SQL
      vom PHPMyAdmin eintrage,
      gibt es keinen Fehler aus (ist ja das selbe wie mysq_error)...

      Na gut, der Tipp reicht mir aber schon, danke -
      wenn es nur ein fehlerhafter Query ist, sollte es kein Problem sein.


      EDIT:

      Hab es.
      der Query muß natürlich

      PHP-Code:
      $querybild=mysql_query("select id, objektnr, bildth1, bildth2, bildth3, bildth4, bildth5 from immo where objektnr='$objektnr' "); 
      heißen, also mit '' um die Variable.
      Hat natürlich im MyAdmin gefunzt, weil da eine Zahl drin stand.

      Oft sind es eben die einfachen dinge, auf die man nicht kommt.
      Ich suche immer nach was kompliziertem...


      Zuletzt geändert von Coniaric; 14.03.2007, 11:47.
      Gruß, Coni
      ~~ codito ergo sum - ich code, also bin ich! ~~

      Kommentar


      • #4
        Objekt-nr ist doch Integer, oder?
        Wenn ja, da müssen keine Anführungszeichen rum oO

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Hi,

          nein, genau darum hab ich es auch falsch gemacht, ich dachte auch, es wäre integer.
          Objektnummer kann aber auch z.B. "233a" lauten
          Gruß, Coni
          ~~ codito ergo sum - ich code, also bin ich! ~~

          Kommentar

          Lädt...
          X