Erst gehts, dann Fehlermeldung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Erst gehts, dann Fehlermeldung

    Hi,

    ich habe folgendes Problem.
    Ich habe eine Anwendung geschrieben, die Werte aus einer Datenbank abliest
    und sie nach der ID auflistet. Diesen Vorgang habe ich automatisiert.
    Mit Hilfe eines Buttons, wird die Anfangs ID um 10 erhöht.
    Es klappt auch alles wunderbar.
    Doch wenn ich wieder auf die Urspungsdatei zugreife
    Also anstatt "test.php?start=21&forward=Weiter" wieder auf "test.php"
    Dann kommt bei mir folgende Meldung
    "Notice: Undefined index: start in /app/www/test/a.php on line 18



    Notice: Undefined index: start in /app/www/test/a.php on line 18

    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 '' at
    line 1"

    hier ist der Code:

    Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. include 'config.php';
    4. $db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
    5. mysql_select_db(MYSQL_DATABASE);
    6. if(isset($_GET['start'])) {
    7. $start = $_GET['start'];
    8. } else {
    9. $start = 1;
    10. }
    11. for($i=$_GET['start']; $i<$_GET['start']+10; $i++) {
    12. $sql = 'SELECT concat(`A`,0x203a20,`B`) FROM `table` where id = '.$i;
    13. $result = mysql_query($sql) OR die(mysql_error());
    14. $actual_result = mysql_result($result, 0);
    15. echo $actual_result;
    16. echo "<br>";
    17. }
    18. mysql_close($db_link);
    19. echo '<form method="get" action="">';
    20. echo '<input type="hidden" name="start" value="'.($start+10).'" />';
    21. echo '<input type="Submit" name="forward" value=">>>">';
    22. echo '</form>';
    23. ?>
    Alles anzeigen


    Ich kann es mir nicht wirklich erklären, weil ich die Syntax bereits geprüft habe
    und vorher lief ja auch alles.
    Ich würde ich sehr über Hilfe freuen.

    mfg,
    PHPSprutz
  • Nein,

    es geht leider nicht wirklich.
    Die Fehlermeldnungen verschwinden.
    Aber die Ausgabe findet nicht mehr geordnet statt.

    Beim ersten Laden des PHP Dokuments
    ID 1
    ID 2
    ID 3
    ID 4
    ID 5
    ID 6
    ID 7
    ID 8
    ID 9
    ID 10

    Nach der Betätigung des Buttons
    ID 11
    ID 12
    ID 3
    ID 4
    ID 5
    ID 6
    ID 7
    ID 8
    ID 9
    ID 10

    mfg,
    PHPSprutz

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von PHPSprutz ()

  • Hi,

    danke für den Tipp bezüglich der Erhöhung der Effizienz der SQL Abfragen
    aber es ging mir doch erstmal um die Fehlermeldungen.

    Ich habe es mal ausprobiert:
    $sql = 'SELECT concat(`A`,0x203a20,`B`) FROM `table` where id BETWEEN '.$start .'AND' .($start+10);
    Ging leider nicht, es hat nicht mehr aufgehört zu laden...

    mfg,
    PHPSprutz

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von PHPSprutz ()

  • Hi,

    Der Hex Wert geht wunderbar.
    Und das ist auch nicht das Problem,
    dadaurch gibt es keinerlei Fehlermeldung.
    Und die Ausgabe ist auch so wie ich sie mir gewünscht habe.


    Um nochmal auf das Thema zurückzukommen.
    Gibt es Probleme mit dem $_GET['start'] und wenn ich es in der forschleife
    durch ein $start ersetze ist Ausgabe ein schlechter Witz.

    Die andere Variante lädt bis zum Sankt Nimmerleinstag.

    Vielleicht könnte man mir dabei helfen das Problem zu lösen
    oder Ratschläge zu geben? ;(

    Danke im voraus.

    mfg,
    PHPSprutz
  • Hi d0nut,

    danke für deine Hilfsbereitschaft :>

    aber ich habe inzwischen das Problem gelöst ;)

    Quellcode

    1. <?php
    2. error_reporting(0);
    3. include 'config.php';
    4. $db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
    5. mysql_select_db(MYSQL_DATABASE);
    6. if(isset($_GET['start'])) {
    7. $start = $_GET['start'];
    8. for($i=$_GET['start']; $i<$_GET['start']+10; $i++) {
    9. $sql = 'SELECT concat(`ID`,0x203a20,`Numba`,0x203a20,`Beschreibung`) FROM `numbaz` where id = '.$i;
    10. $result = mysql_query($sql) OR die(mysql_error());
    11. $actual_result = mysql_result($result, 0);
    12. echo $actual_result;
    13. echo "<br>";
    14. }
    15. }
    16. else {
    17. $start = 1;
    18. }
    19. mysql_close($db_link);
    20. echo '<form method="get" action="">';
    21. echo '<input type="hidden" name="start" value="'.($start+10).'" />';
    22. echo '<input type="Submit" name="forward" value=">>>">';
    23. echo '&nbsp;';
    24. echo '</form>';
    25. ?>
    Alles anzeigen


    mfg,
    PHPSprutz