Select in Select

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

  • Select in Select

    Hallo,
    ich habe ein Problem bei einem Skriptbereich, welchen ich vorher auf dem PC erfolgreich getestet habe.

    Hier der entsprechende Code:

    PHP-Code:
    <?php
    // Step2
      
    if($do==step3)
      {
      require(
    "../include/connect.php");
      require(
    "../include/global.php");
          
    $abfrage="    SELECT
                        *
                       FROM
                        0_fl_setup
                    WHERE
                        prefix=(SELECT MAX(prefix) FROM 0_fl_setup)"
    ;
          
    $ergebnis=mysql_query($abfrage) or die(mysql_errno().": ".mysql_error());
            
    $zeile=mysql_fetch_array($ergebnis);
        
    ?>
    <br><br><table align="center"><tr><td valign="">
    <center>Die Website <? echo $zeile[websitetitel]; ?>  hat die ID <? echo $zeile[prefix]; ?>
    <br>
    </center></td></tr></table>
    Als Fehlermeldung kommt dann:
    1064: You have an error in your SQL syntax.
    Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT MAX(prefix) FROM 0_fl_setup)' at line 6

    Der Code ist so doch aber korrekt?!?

    MySQL Version local: 5.0.15
    MySQL Version web: 4.0.23-Max-log

    Wie muss der Code bei dieser Version lauten??

    Grüße,
    akrab

  • #2
    ist doch klar, die Version 4.x unterstützt kein sub-select. Versuche mit JOIN umzuschreiben. Schau dir den Sticky-Thread "Join, das leidige Thema..." bitte vorher an.

    **verschieb** zum SQL-Forum

    Kommentar


    • #3
      Dann versuch ich bei meinem Hoster erstmal ein Update der Version zu bekommen.
      Dank dir für die Antwort!

      Grüße,
      akrab

      Kommentar


      • #4
        Hab nun PHP 5.1.1 und Mysql 5.0.15-max-log auf dem Webserver.

        Problem:
        Das Skript will nun nicht mehr ausgeführt werden. Habs erneut hochgeladen und wollte es installieren. Installation klappt auch nicht. (Andere Seiten der Domain funktionieren ohne merkbare Probleme).
        Da ich das nun nicht mehr funktionierende Skript selber geschrieben habe, liegt es wohl am Skript.

        Es werden wohl Befehle nun anders interpretiert als vorher.

        Habt ihr schon von ähnlichen Problemen gehört? Wüsste gerne genau woran das liegt.

        Würde sich auch jemand meine Setup.php datei anschauen, ist nicht so groß. Vielleicht erkennt jemand etwas. Wenn ja, würde ich sie per Mail verschicken.
        Wäre wirklich sehr nett!

        Grüße,
        akrab

        Kommentar


        • #5
          Ich tippe auf Register_globals.

          Kommentar


          • #6
            setzt mal dein error_reporting auf E_ALL: http://www.php-resource.de/forum/sho...threadid=47906

            Kommentar


            • #7
              Mir error_reporting ergibt es folgendes:

              Notice: Use of undefined constant schritt1 - assumed 'schritt1' in /www/htdocs/kaistyle/fruitlabs/demo/fl_at/installation.php on line 5

              Notice: Undefined variable: do in /www/htdocs/kaistyle/fruitlabs/demo/fl_at/installation.php on line 5
              Was genau hat das zu bedeuten? Local auf dem Rechner kommt der Fehler nicht, da geht alles.

              Grüße,
              akrab

              Kommentar


              • #8
                Original geschrieben von pekka
                Ich tippe auf Register_globals.

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

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

                Kommentar


                • #9
                  Sprich die register_globals müssen wir auf on geschaltet werden??
                  Mach ein Hoster sowas in der Regel?

                  Grüße,
                  akrab

                  Kommentar


                  • #10
                    Na, hoffentlich doch nicht.

                    Vielleicht gewöhnst du dich mal lieber an diesen Standard.

                    Kommentar


                    • #11
                      Hab die nun erstmal on.

                      @TobiaZ
                      Also lieber ohne global_register arbeiten? Wieso, sind das Sicherheitslücken oder Ähnliches?

                      Grüße,
                      akrab

                      Kommentar


                      • #12
                        Original geschrieben von akrab
                        Wieso, sind das Sicherheitslücken oder Ähnliches?
                        ja, mit die größten die php von Haus aus bietet ... such einfach mal danach

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

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

                        Kommentar


                        • #13
                          Also lieber ohne global_register arbeiten? Wieso, sind das Sicherheitslücken oder Ähnliches?
                          Zitat aus Zeile 3 meines oben geposteten Links:

                          This page will explain how one can write insecure code with this directive but keep in mind that the directive itself isn't insecure but rather it's the misuse of it.

                          When on, register_globals will inject your scripts with all sorts of variables, like request variables from HTML forms. This coupled with the fact that PHP doesn't require variable initialization means writing insecure code is that much easier.

                          Kommentar

                          Lädt...
                          X