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
    <?php
            $link = @mssql_connect('LOL\SQLEXPRESS', 'sa', 'Passwort') or die ("Server is down!");
            $db = @mssql_select_db('CMS_NEWS') or die ("DB is missing!");
            $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum DESC');
    	echo $row["Titel"]  ;
    	echo $row["Datum"]  ;
    	echo $row["Inhalt"] ;
    ?>

    Ich hoffe ihr könnt mir helfen.

    Mfg

    [CENTER]

    Zitat

    "Eine IP ist im Internet nötig - ein IQ leider nicht..."
    "Der Döner sei mit dir mein junger Padawan"
    "Hat der König der Tiere , der Löwe Geburtstag. Er wünscht sich von allen Tieren 1 Korb voll Fleisch , ansonsten würde er sie mit seinem dicken Penis schlagen.
    Der Hase kommt mit einem Korb voll Möhren. Der Löwe fragt den Hasen wieso er nur mit einem Korb voll Möhren komme , darauf antwortet der Hase er sei eben nicht so ein guter Jäger und der Löwe solle ihm verzeihen. Daraufhin schlägt der Löwe den Hasen mit seinen dicken Penis. Der Hase lacht und weint [...] und lacht und weint.
    Da fragt ihn der Löwe wieso er weine , woraufhin der Hase antwortet dass er weine weil es weh tue und er lache weil der Igel mit einem Korb voll Pilzen käme."


    [/CENTER]

  • [FONT="Franklin Gothic Medium"][COLOR="Sienna"][SIZE="2"]Also in den Sachen, die ich finde, wie z.B. Hier
    steht das alles ohne @.
    Auch fehlt da das Fetch-Array um die Daten auszulesen. Im Moment selektiert er das nur.
    Hier mal ein Beispiel: PHP: mssql_query - Manual[/SIZE][/COLOR][/FONT]

    [COLOR=Sienna]MfG
    Kogoro[/COLOR]
    [COLOR=darkorange]Support gibt es auf:[/COLOR]
    [SIZE=2][COLOR=darkorange]coding-cluster.net[/COLOR][/SIZE]

  • 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
    <?php
            $link = @mssql_connect('LOL\SQLEXPRESS', 'sa', 'Passwort') or die ("Server is down!");
            $db = @mssql_select_db('CMS_NEWS') or die ("DB is missing!");
            $query = mssql_query('SELECT Titel , Datum , Inhalt FROM [News] ORDER BY Datum LIMIT 1 DESC');
        $row = mssql_fetch_assoc($query);
        echo $row["Titel"]  ;
        echo $row["Datum"]  ;
        echo $row["Inhalt"] ;
    ?>
    Zitat

    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.

    Zitat

    Fetch-Array

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

  • [FONT="Franklin Gothic Medium"][COLOR="Sienna"][SIZE="2"]Ah schon wieder was gerlernt ;)[/SIZE][/COLOR][/FONT]

    [COLOR=Sienna]MfG
    Kogoro[/COLOR]
    [COLOR=darkorange]Support gibt es auf:[/COLOR]
    [SIZE=2][COLOR=darkorange]coding-cluster.net[/COLOR][/SIZE]

  • Danke Felix.

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

    Code
    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
    
    
    Warning: mssql_query() [function.mssql-query]: Query failed in D:\xampp\htdocs\news.php on line 4
    
    
    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

    [CENTER]

    Zitat

    "Eine IP ist im Internet nötig - ein IQ leider nicht..."
    "Der Döner sei mit dir mein junger Padawan"
    "Hat der König der Tiere , der Löwe Geburtstag. Er wünscht sich von allen Tieren 1 Korb voll Fleisch , ansonsten würde er sie mit seinem dicken Penis schlagen.
    Der Hase kommt mit einem Korb voll Möhren. Der Löwe fragt den Hasen wieso er nur mit einem Korb voll Möhren komme , darauf antwortet der Hase er sei eben nicht so ein guter Jäger und der Löwe solle ihm verzeihen. Daraufhin schlägt der Löwe den Hasen mit seinen dicken Penis. Der Hase lacht und weint [...] und lacht und weint.
    Da fragt ihn der Löwe wieso er weine , woraufhin der Hase antwortet dass er weine weil es weh tue und er lache weil der Igel mit einem Korb voll Pilzen käme."


    [/CENTER]

  • Zitat von despiteous;95957

    Danke Felix.

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

    Code
    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
    
    
    Warning: mssql_query() [function.mssql-query]: Query failed in D:\xampp\htdocs\news.php on line 4
    
    
    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
    $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.

  • 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?

    [CENTER]

    Zitat

    "Eine IP ist im Internet nötig - ein IQ leider nicht..."
    "Der Döner sei mit dir mein junger Padawan"
    "Hat der König der Tiere , der Löwe Geburtstag. Er wünscht sich von allen Tieren 1 Korb voll Fleisch , ansonsten würde er sie mit seinem dicken Penis schlagen.
    Der Hase kommt mit einem Korb voll Möhren. Der Löwe fragt den Hasen wieso er nur mit einem Korb voll Möhren komme , darauf antwortet der Hase er sei eben nicht so ein guter Jäger und der Löwe solle ihm verzeihen. Daraufhin schlägt der Löwe den Hasen mit seinen dicken Penis. Der Hase lacht und weint [...] und lacht und weint.
    Da fragt ihn der Löwe wieso er weine , woraufhin der Hase antwortet dass er weine weil es weh tue und er lache weil der Igel mit einem Korb voll Pilzen käme."


    [/CENTER]

  • Zitat von despiteous;95978

    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.

  • Nunja trotzdem danke dass du mir weitestgehend versucht hast zu helfen.
    Und es tut ja auch jez schon , das was ich wollte ohne das Limit ;)

    [CENTER]

    Zitat

    "Eine IP ist im Internet nötig - ein IQ leider nicht..."
    "Der Döner sei mit dir mein junger Padawan"
    "Hat der König der Tiere , der Löwe Geburtstag. Er wünscht sich von allen Tieren 1 Korb voll Fleisch , ansonsten würde er sie mit seinem dicken Penis schlagen.
    Der Hase kommt mit einem Korb voll Möhren. Der Löwe fragt den Hasen wieso er nur mit einem Korb voll Möhren komme , darauf antwortet der Hase er sei eben nicht so ein guter Jäger und der Löwe solle ihm verzeihen. Daraufhin schlägt der Löwe den Hasen mit seinen dicken Penis. Der Hase lacht und weint [...] und lacht und weint.
    Da fragt ihn der Löwe wieso er weine , woraufhin der Hase antwortet dass er weine weil es weh tue und er lache weil der Igel mit einem Korb voll Pilzen käme."


    [/CENTER]

  • Zitat von Benni827;96149

    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.

  • Ja, da hast du recht das ist bei mysql. Ich hab schon bisschen was gemacht in PhP aber bin realtiv unerfahren. Ich wollte auch nur helfen und ich werde trozdem Posten wenn ich denke helfen zu können. Habe den Code zuvor getestet, jedoch mit mysql und er ging einwandfrei.

  • 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

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!