Problem: sql_fetch_array()

  • Hallo,
    habe ein kleines Problem. :)


    Diesen Error bekomme ich immer:


    PHP
    1. Fatal error: Call to undefined function sql_fetch_array() in C:\wamp\www\modules\news.php on line 12



    wenn ich ein : echo mysql_error(); hinzufüge ,kommt das als Resultat


    "Unknown column 'ID' in 'order clause'"



    Das ist die php-Datei:
    [cs]
    <?php $mysqlip = "localhost"; $mysqlId = "root"; $mysqlpw = "pw"; $newsDb = "db"; $myConn = mysql_connect($mysqlip, $mysqlId, $mysqlpw); $selectdb = mysql_select_db($newsDb, $myConn); print "<div class='news-container'>"; $query = mysql_query("select * from sro_news order by ID desc limit 0,5"); echo mysql_error(); while ($row = sql_fetch_array($query)) { print "<div class='news-title'><img style='width:16px;height:16px;' src='styles/img/title-shield.png' alt='Title' > "; print $row['title']." "; print " [Posted by <b>".$row['author']."</b> at <b>".$row['date']."</b>]."; print "</div>"; print "<div class='news-content'>"; print $row['content']; print "</div><br />"; print "<div class='post-divide-line'></div>"; print "<br />"; } print "</div>";?>[/cs]





    thx

  • Die Spalte ID existiert nicht. Daher musst du nach was anderem sortieren.


    ORDER BY date würde sich hier anbieten.


    //Edit: bzw mehr sinn macht ORDER BY date DESC. Dann kommen die neueren news zuerst.

  • Da bekommt man ja Anfälle^^ :D


    1. mysql_fetch_array / mysql_fetch_assoc / mysql_fetch_object für MySql Datenbanken nutzen
    2. SQL Statements in einem SQL Query capitalized schreiben. Sowas gehört zum Sauberen Programmieren.
    3. Ich hoffe deine Datei ist nicht wirklich in 1 Zeile geschrieben sonst komm ich vorbei und hau dich^^
    4. Wie Overkill gesagt hat ID gibts nicht also entweder ORDER BY date nutzen oder du legst die ne Spalte mit ID an.


    Wenn die Spalte sich selbst bei jedem neuen Eintrag um 1 Inkrementieren soll.
    ALTER TABLE `sro_news` ADD `ID` INT( 10 ) PRIMARY KEY AUTO_INCREMENT
    Wenn nicht
    ALTER TABLE `reklama_stats` ADD `ID` INT( 10 )


    Hoffe das ändert sich mit dem Programmierstil^^ :D


    MfG Sick^