1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Limit

  • clark_039
  • 26. Januar 2009 um 14:11
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • clark_039
    Punkte
    205
    Beiträge
    30
    • 26. Januar 2009 um 14:11
    • #1

    Hallo zusammen, ich habe eine MYSQL Datenbank für Posts zu Städten, ich möchte maximal 20 Einträge ausgeben lassen, das macht man ja eig mit LIMIT, verwende ich LIMIT kommt bei mit folgender Fehler "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource"

    Hier mein Quellcode

    PHP
    $ResultPointer2 = mysql_query("SELECT * FROM entries,categories,cities WHERE entries.category = categories.id AND ".($cat==0?'':'entries.category="'.$cat.'" AND ')." 
    entries.city = cities.id ORDER BY entries.date DESC LIMIT 0,20 $AktuelleSeite, $ErgebnisseProSeite", $DatabasePointer);
    $Anzahl2 = mysql_num_rows(mysql_query("SELECT * FROM entries,categories,cities WHERE entries.category = categories.id AND ".($cat==0?'':'entries.category="'.$cat.'" AND ')." 
    entries.city = cities.id ORDER BY entries.date DESC",
    $DatabasePointer));
    
    
    
    
    echo "<ol>";
    
    
    for($i2 = 0; $i2 < mysql_num_rows($ResultPointer2); $i2++)
    {
        $Ausgabe = mysql_fetch_object($ResultPointer2);
        echo "<br>";
        echo "<li>";
        echo "City: <b>".$Ausgabe2->city."</b><br />";
        echo "Category: <b>".$Ausgabe2->category."</b><br />";
        echo "What you should do: <b>".nl2br($Ausgabe2->entry)."</b><br>";
        echo "<br>";
        echo "</li>";
    }
    echo "</ol>";
    Alles anzeigen

    MFG clark_039

  • skinner33
    Punkte
    862
    Beiträge
    168
    • 26. Januar 2009 um 15:03
    • #2
    Zitat von clark_039


    $ResultPointer2 = mysql_query("SELECT * FROM entries,categories,cities WHERE entries.category = categories.id AND ".($cat==0?'':'entries.category="'.$cat.'" AND ')."
    entries.city = cities.id ORDER BY entries.date DESC LIMIT 0,20 $AktuelleSeite, $ErgebnisseProSeite", $DatabasePointer);

    Du gibts zweimal ein Limit an, das führt dazu dass die Query einen Fehler produziert => kein gültiges Result.

    Nebenbei solltest du vlt. mal ein bissl schauen wie man php/mysql normalerweise programmiert. Das schaut doch eher 'unsauber' aus.

  • MarvinTheRobot
    Punkte
    7.308
    Beiträge
    1.368
    • 26. Januar 2009 um 15:29
    • #3

    njam da freut man sich auf nicht escapte values wo man injecten kann :) (aber manche meiner alten seiten schaun net anders aus... muss ich zugeben - ich würd mir an deiner stelle auf jeden fall mysql_real_escape_string() ansehen)

    das einfachste is hinten an das statement "or die(mysql_error())" anzuhängen und zu schauen wo der fehler liegt.

    wenns dir in phpmyadmin lieber is schreib den string in eine variable und gib die aus, kopier dir den sql string in den phpmyadmin, führ ihn aus und du wirst sehn wo dein fehler liegt.

    lg, Phil.

  • clark_039
    Punkte
    205
    Beiträge
    30
    • 26. Januar 2009 um 15:46
    • #4

    Danke skinner, hätte ich selbst drauf kommen können und Marvin danke für den sicherheitshinweis

    MFG clark_039

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum