php und mssql

Alles, was PHP betrifft, kann hier besprochen werden.

php und mssql

Postby Leutnant » 28. October 2005 15:22

hallo,

ich habe anfangs mit dem xampp gearbeitet, doch nun MUSS ich leider mssql in php einbetten, da gehen auch schon die ersten problem los!

ich bin gerade dabei das tutorial von #quakenet durchzuarbeiten!

ich habe dabei ein ganz einfaches newsscript geschrieben, werte habe ich bereits in die tabellen manuell eingetragen, dieses script soll nun die werte ausgeben, aber ich habe einen mir unerklaerlichen fehler gemacht!

wenn mir hier irgendjemand helfen koennte, auch wenn ich nicht mit mysql arbeite, vielleicht findet ja jemand den fehler

Code: Select all
<?php
   // news.php
   echo "<h2>News</h2>\n;
   $sql = "SELECT Titel,Inhalt,DATUM FROM News ORDER BYDatum DESC";
   
   $result = mssql_query($sql) OR die ();
   if(mssql_num_rows($result))
   {
      while($row=mssql_fetch_assoc($result))
      {
         echo "<div class=\newseintrag\">\n";
         echo "    <div class=\"Datum\">\n";
            echo $row['Datum'];
            echo "    </div>\n";
            echo "    <div class=\"Titel\">\n";
            echo $row['Titel'];
            echo "    </div>\n";
            echo "    <div class=\"Inhalt\">\n";
            echo nl2br($row['Inhalt']); // \n in <br /> umwandeln
            echo "    </div>\n";
            echo "</div>\n";
      }
   }
   else
   {
      echo "<p>Keine News vorhanden</p>\n;
   }
   
?>

und hier die fehlermeldung; sicherlich nur ein kleines problem, aber fuer mich als neuling schon ein grosses, da man ja zu mssql nix an infos im netz findet, leider :(

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\news.php on line 4
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Wiedmann » 28. October 2005 15:34

Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\news.php on line 4

Schau dir Zeile 3 nochmal genau an.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Leutnant » 28. October 2005 15:44

ui ui ui :) naja ich aender mal schnell das was da in Zeile 4 alias 3 stehen sollte , naehmlich ein billiges "

Also irgendwie befuerworte ich ja dann doch Ctrl+C :shock:

Dasselbe fehlt uebrigends am ende auch noch mal habs korrigiert,,,oje danke ! :roll:

Darf ich denn wiederkommen, als exot mit ms sql ?
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Leutnant » 28. October 2005 16:04

H.Wiedmann, ich habe noch eine Kleinigkeit!

Notice: Undefined index: Datum in C:\news.php on line 13

das habe ich eingefuegt in meine tabelle:

Code: Select all
<?php
include "login.php";
$db=mssql_query ("INSERT INTO News (ID,Titel,Inhalt,Datum)
   VALUES
(2,'NUMMERO ZWO','MEINE ZEITE NEWS','23.05.06')");
?>

Aber der Fehler, naja wahrscheinlich wieder Kinderkram, ich bin nicht mehr konzentriert genug,moeglicherweise, arbeite schon mehr als 14 std. :)
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Wiedmann » 28. October 2005 16:08

Notice: Undefined index: Datum in C:\news.php on line 19

Das Script grad hat doch nur 6 Zeilen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Leutnant » 28. October 2005 16:13

habe bereits geaendert, guck nochmal Zeile 13 muesste es sein!

aehm, ok ich lese mir die Tutorials von Anfang bis ende durch, natuerlich vergisst man da mal etwas zwischendurch, aber eins habe ich nicht vergessen:
"php beginnt mit <?php .... und endet mit ?> also wie kannst du behaupten mein script hat weniger code zeilen ;)
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Leutnant » 28. October 2005 16:24

Code: Select all
<?php
   // news.php
   echo "<h2>News</h2>\n";
   $sql = ("SELECT Titel,Inhalt,DATUM FROM News ORDER BY Datum DESC");
   
   $result = mssql_query($sql) OR die ();
   if(mssql_num_rows($result))
   {
      while($row=mssql_fetch_assoc($result))
      {
         echo "<div class=\newseintrag\">\n";
         echo "    <div class=\"Datum\">\n";
            echo $row['Datum'];
            echo "    </div>\n";
            echo "    <div class=\"Titel\">\n";
            echo $row['Titel'];
            echo "    </div>\n";
            echo "    <div class=\"Inhalt\">\n";
            echo nl2br($row['Inhalt']); // \n in <br /> umwandeln
            echo "    </div>\n";
            echo "</div>\n";
      }
   }
   else
   {
      echo "<p>Keine News vorhanden</p>\n";
   }
?>

Notice: Undefined index: Datum in C:\news.php on line 13

DIESES Script war gemeint, entschuldigung fuer die Verwirrung :)
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby 1Euro » 28. October 2005 16:47

mach die klammern bei $sql = ("..."); weg
Dies ist meine Welt!!!
1Euro
 
Posts: 188
Joined: 11. September 2004 17:50

Postby Leutnant » 28. October 2005 17:04

1Euro wrote:mach die klammern bei $sql = ("..."); weg


Danke,

eine Frage:"Hast du das vorher selber probiert oder sagst du das weil du meinst das stimmt?"

Es aendert nichts, sorry!

Code: Select all
<?php
include "login.php";
$db=mssql_query ("INSERT INTO News (ID,Titel,Inhalt,Datum)
   VALUES
(6,'NUMMERO SECHS','MEINE SECHSTE NEWS',getdate())");
?>

Habe jetzt beim insert.php script die fkt. getdate eingebaut!
Damit gibt er am bildschirm nach dem parsen der news.php jedenfalls das Datum und die Zeit aus!



Es ist mir bisher nicht moeglich, das Datum anders auszugeben...SO habe ich es bisher gemacht,,,bei der Ausgabe kam aber kein Datum raus!!!
Code: Select all
<?php
include "login.php";
$db=mssql_query ("INSERT INTO News (ID,Titel,Inhalt,Datum)
   VALUES
(6,'NUMMERO SECHS','MEINE SECHSTE NEWS','25/12/99')");
?>

bin jetzt mit getdate() schonmal soweit das ich das Datum habe, wenn jemand eine alternative hat, her damit , thx!
:arrow:
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Leutnant » 28. October 2005 17:28

hatte ganz am Anfang ein Problem mit dem erstellen der Tabelle!

mein query analyzer sagt mir nachdem ich das hier teste:

CREATE TABLE News (
ID INT AUTO_INCREMENT PRIMARY KEY,
Titel VARCHAR(100),
Inhalt TEXT,
Datum DATETIME
);

Server: Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near 'AUTO_INCREMENT'.

Ich habe bereits herrausgefunden das AUTO_INCREMENT scheinbar keine mssql Funktion ist, hat jemand dennoch eine Alternative, weil dauernd die ID hochzaehlen ist nervig!
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04

Postby Wiedmann » 28. October 2005 17:41

$sql = "SELECT Titel,Inhalt,DATUM FROM News ORDER BY Datum DESC";
...
echo $row['Datum'];

"DATUM" != "Datum"

hat jemand dennoch eine Alternative, weil dauernd die ID hochzaehlen ist nervig!

IDENTITY(1,1) anstatt AUTO_INCREMENT

BTW:
Ist dir beim Posterstellen schon mal der Knopf mit der Aufschrift "Code" aufgefallen?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Leutnant » 28. October 2005 18:04

Wiedmann wrote:
BTW:
Ist dir beim Posterstellen schon mal der Knopf mit der Aufschrift "Code" aufgefallen?


1.Werde deine Vorschlaege gleich mal in die Tat umsetzen!

2.Das IDENTITY habe ich auch schon gefunden, jedoch ohne den Klammer Ausdruck (1,1) dahinter, weisst du was das bedeutet?
*EDIT*
antwort zu 2.
"...Ist weder der Ausgangswert (seed) noch der inkrementelle Wert (increment) angegeben, gilt für beide der Standardwert 1....seed ist der erste wert, increment der zweite!?"


3. ja, den code Button habe ich nun entdeckt 8) bisher benutze ich doch nie solche features, aber demnaechst bei code schnipseln versuche ich mich an deine worte zu erinnern ;)

Gruss Leutnant
Leutnant
 
Posts: 12
Joined: 29. September 2005 05:04


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests