Problem mit der Ausführung eines SQL Statements

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

  • Problem mit der Ausführung eines SQL Statements

    Hi zusammen,

    habe ein sehr komisches Problem. (übrigens hatte ich so ein Problem noch nie):
    Ich habe eine SQL-Abfrage, die durch ein PHP Skript ausgeführt werden soll. Wenn diese Abfrage vom php-skript ausgeführt wird, erhalte ich keine Ergebnismenge. Wenn ich die identische Abfrage manuell ausführe z.B. via SQL-fenster bei phpmyadmin erhalte ich eine Ergebnismenge ?!

    Wie kann das sein ?

    Hatte schon mal jmd ein ähnliches PRoblem ? und kann mir sagen worans gelegen hat?


    Anbei noch das Statement im Skript
    PHP-Code:
    SELECT d.idd.dated.employees_idEmployeed.starttimed.endtimeoae.categoryoae.idEmployee                 
    FROM dispatch 
    AS d                 
    LEFT JOIN employees 
    AS e ON e.idEmployee d.employees_idEmployee                 
    LEFT JOIN outlookAppointment_employee 
    AS oae ON employees_idEmployee oae.idEmployee                 
    WHERE 
    `dateBETWEEN '$datestart' AND '$dateend'                 
    AND(
    (
    ((`
    starttime` >= TIME'$timestart' )) AND (`starttime` <= TIME'$timeend' )) AND (`endtime` >= TIME'$timestart' )) AND (`endtime` >= TIME'$timeend' )))                 
    OR((`
    starttime` >= TIME'$timestart' )) AND (`starttime` <= TIME'$timeend' )) AND (`endtime` >= TIME'$timestart' )) AND (`endtime` <= TIME'$timeend')))           
    OR((`
    starttime` <= TIME'$timestart' )) AND (`starttime` <= TIME'$timeend' )) AND (`endtime` >= TIME'$timestart' )) AND (`endtime` >= TIME'$timeend')))                 
    OR((`
    starttime` <= TIME'$timestart' )) AND (`starttime` <= TIME'$timeend' )) AND (`endtime` >= TIME'$timestart' )) AND (`endtime` <= TIME'$timeend'))) 
    )                            
    OR
    (
    ((
    oae.start >= date ($datestart)) AND (oae.start <= date ($dateend)) AND (oae.end >= date ($datestart)) AND (oae.end >= date ($dateend)))                   
    OR((
    oae.start >= date ($datestart)) AND (oae.start <= date ($dateend)) AND (oae.end >= date ($datestart)) AND (oae.end <= date ($dateend)))                       
    OR((
    oae.start <= date ($datestart)) AND (oae.start <= date ($dateend)) AND (oae.end >= date ($datestart)) AND (oae.end >= date ($dateend)))                       
    OR((
    oae.start <= date ($datestart)) AND (oae.start <= date ($dateend)) AND (oae.end >= date ($datestart)) AND (oae.end <= date ($dateend))) 
    )
    )
    AND 
    employees_idEmployee $id 
    Zuletzt geändert von sypr0; 27.07.2010, 21:24.

  • #2
    Ich habe leider meine Glaskugel gerade nicht hier um Dir die Frage zu beantworten!

    Wir brauchen natürlich immer etwas mehr Angaben, wie z.B. deinen Code und wie Du ihn genau ausführst!

    Thanx.

    mfg streuner
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Code ist nun angehängt. Ausgeführt wurde er zunächst mal via Zend_DB und mit hilfe der Adapter methoden. Danach hab ichs mal auf klassischem wege via mysql_query versucht.Habe aber weiterhin das problem, dass wenn der code via skript ausgeführt wird keine ergebnismenge geliefert wird, wohingegen die ausführung des durch z.b. echo $sql generierten Statements im phpmyadmin sql fenster, eine Ergebnismenge zurückliefert

      Kommentar


      • #4
        Hilft ein
        PHP-Code:
        or die(mysql_error()); 
        weiter?

        Peter

        PS: Bitte Code so umbrechen, dass auch auch Leute mit einer Auflösung unter 1600x1200 nicht horizontal scrollen müssen.

        Danke.
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          So wie Kropff schon gesagt hat, würde ich das noch mit einbauen und Du bist dir natürlich auch sicher, dass alle angegebenen Variablen korrekt befüllt werden??

          mfg Streuner
          Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
          der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

          "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

          Kommentar


          • #6
            daneben bist du mindestens der 25te, der sich "blind" darauf verlässt, das PHP schon die Variablen ersetzt, anstatt wie eigentlich vorgesehen den "." Operator zum zusammenfügen von Strings zu verwenden....

            bist du dir sicher, dass deine Datum-Variablen das Datum in der Form enthalten, die mysql als "mundgerecht" ansieht ?

            und wo ich nochmal schaue - zur Vermeidung von Tipp-Fehlern .. lass die ` weg.. sowohl php als auch phpmyadmin verstehen die Abfragen durchaus auch ohne die "Dingers" während sie der normale Programmierer im entscheidenden Fall mit Apostroph verwechselt und sich dann nen Wolf sucht
            Zuletzt geändert von eagle275; 27.07.2010, 21:40.
            [font=Verdana]
            Wer LESEN kann, ist klar im Vorteil!
            [/font]

            Kommentar

            Lädt...
            X