Newsskript mit MSSQL Problem

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

    • Newsskript mit MSSQL Problem

      Nunja ich bin ein kleiner Noob in Sachen PHP , aber habe mir mit Mühe
      ein "Newsskript" gescriptet bzw. umgeschrieben.

      Mein Problem ist , dass es gar nichts anzeigt...
      Hier nun das Script:

      PHP-Quellcode

      1. <?php
      2. $link = @mssql_connect('LOL\SQLEXPRESS', 'sa', 'Passwort') or die ("Server is down!");
      3. $db = @mssql_select_db('CMS_NEWS') or die ("DB is missing!");
      4. $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum DESC');
      5. echo $row["Titel"] ;
      6. echo $row["Datum"] ;
      7. echo $row["Inhalt"] ;
      8. ?>


      Ich hoffe ihr könnt mir helfen.

      Mfg
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • Alt0rzZ, wieso kommt eine weise Seite wenn ich meine Antwort schreiben will q.q

      Du hast vergessen deine Daten zu fetchen, daran liegts nämlich. Auserdem wenn du
      mehr als einen Newseintrag hast, solltest du noch ein LIMIT definieren. War mal
      so frei und habs auf 1 gesetzt.

      PHP-Quellcode

      1. <?php
      2. $link = @mssql_connect('LOL\SQLEXPRESS', 'sa', 'Passwort') or die ("Server is down!");
      3. $db = @mssql_select_db('CMS_NEWS') or die ("DB is missing!");
      4. $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum LIMIT 1 DESC');
      5. $row = mssql_fetch_assoc($query);
      6. echo $row["Titel"] ;
      7. echo $row["Datum"] ;
      8. echo $row["Inhalt"] ;
      9. ?>


      steht das alles ohne @.


      Das @ vor einer Funktion unterdrückt Errors, beispielsweise würde die Verbindung
      zur Datenbank fehlschlagen bricht PHP das Script ab und gibt sowas wie
      (PHP bricht das Script nicht ab, aber der Post sieht kewler aus wenn ichs so schreibe)
      "DB Acces denied" aus. Das @ bewerkstelligt nun das genau diese Fehlermeldung
      nicht erscheint.

      Fetch-Array


      Und wenn ich nun nen Assoziatives oder numerisches Array will?
      fetch_assoc oder fetch_row gehen auch =D
    • Danke Felix.

      Nun , wenn ich LIMIT 1 einfüge kommt der Error:

      Quellcode

      1. Warning: mssql_query() [function.mssql-query]: message: Falsche Syntax in der Nähe von 'LIMIT'. (severity 15) in D:\xampp\htdocs\news.php on line 4
      2. Warning: mssql_query() [function.mssql-query]: Query failed in D:\xampp\htdocs\news.php on line 4
      3. Warning: mssql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\news.php on line 5


      Wenn ich LIMIT 1 nicht benutze kommt der Fehler nicht.

      Mfg
    • despiteous;95957 schrieb:

      Danke Felix.

      Nun , wenn ich LIMIT 1 einfüge kommt der Error:

      Quellcode

      1. Warning: mssql_query() [function.mssql-query]: message: Falsche Syntax in der Nähe von 'LIMIT'. (severity 15) in D:\xampp\htdocs\news.php on line 4
      2. Warning: mssql_query() [function.mssql-query]: Query failed in D:\xampp\htdocs\news.php on line 4
      3. Warning: mssql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\news.php on line 5


      Wenn ich LIMIT 1 nicht benutze kommt der Fehler nicht.

      Mfg


      Ups, tut mir Leid, ich depp hab das LIMIT an der falschen Stelle gesetzt. Richtig
      muss es so heißen:

      PHP-Quellcode

      1. $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum DESC LIMIT 1')


      Wenn ich jetzt nicht vollkommen verblödet bin sollte es klappen =)
      Du solltest trotzdem statt mssql_fetch_array, mssql_fetch_assoc nehmen.
      Auch wenns nur ein kleiner Teil ist, aber letztere ist aufjedenfall schneller
      als die erste.
    • despiteous;95978 schrieb:

      Danke für die Hilfe , aber immernoch gleicher Fehler.
      Kurze Frage:
      Benutze ich das Limit nicht , wird nur eine News von drei angezeigt.
      Wie kann ich es dazu bringen dass alle drei angezeigt werden?


      Mhm, eigentlich bin ich gerade überfragt wieso das Limit nicht funktioniert. Entweder
      ich bin Blind oder einfach nur Blöd. Du kannst eine Whileschleife, oder eine foreach
      Schleife verwenden um alle newseinträge auszugeben. Das würde dan in etwa so
      aussehen.

      PHP-Quellcode

      1. <?php
      2. $link = @mssql_connect('LOL\SQLEXPRESS', 'sa', 'Passwort') or die ("Server is down!");
      3. $db = @mssql_select_db('CMS_NEWS') or die ("DB is missing!");
      4. $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum DESC');
      5. while ($row = mssql_fetch_assoc($query)( {
      6. echo $row["Titel"] ;
      7. echo $row["Datum"] ;
      8. echo $row["Inhalt"] ;
      9. echo "<hr />";
      10. }
      11. ?>
      Alles anzeigen
    • Benni827;96149 schrieb:

      Ich glaube das heist LIMIT 0,1 ^^


      Nein! Dein Beispiel beinhaltet noch den optionalen Limit Parameter Offset,
      auserdem merke ich durch deinen Post das du wenig Ahnung von PHP/SQL hast, den MSSQL
      bietet diesen Offset Parameter nicht an. d.h. unter MSSQL kannst du diesen nicht verwenden.
      Ich mache auch Fehler wie man oben sehen kann , aber ich bitte euch haltet euch doch bitte aus
      Themen raus von denen ihr keine Ahnung habt.
    • Freunde, Limit ist eine Funktion die von MySQL, aber nicht von MSSQL unterstützt wird.

      Deshalb gibt es auch ziemliche Probleme, IngameRankings mit Blätterfunktion zu schreiben.
      Nach Workarounds musst du googlen, da gibts einige, die aber ziemlich kompliziert sind.

      Alternativ kannst du die TOP Funktion verwenden die allerdings keinen offset besitzt sondern gnadenlos beim ersten Datensatz anfängt und beim im Parameter angegeben Datensatz wieder aufhört.

      Die Syntax ist (ohne Gewähr) so: "SELECT TOP x FROM `lalala` WHERE `blabla`"

      Außerdem seh ich eh keinen Grund, warum man ein Newssystem mit MSSQL machen sollte. Außer Performanceeinbüßungen und einer beschissenen Umständlichkeit haste nich viel davon