MySQL Daten Abfrage

Hallo,

ich bin Neuling in Sachen PHP und MySQL und hab ein paar vermutlich ziemlich dämliche Fragen.

Nach Suche im Internet habe ich in Dreamweaver folgende Abfrageanweisung geschrieben:

Unbenanntes Dokument<?php mysql_connect(„localhost“,
„XXXXX“,„XXXXXX“);
?><?php mysql_select_db(„handys“);
?><?php $abfrage = „SELECT * FROM tarife“;
?>

MySQL habe ich über Xampp und darin über PHPmyadmin eingerichtet. Wenn ich die php-Seite jedoch öffne, bleibt sie leer. Weiß jemand woran das liegen könnte? Muss ich beim Server noch eine Angabe ändern?

Wäre toll, wenn mir jemand weiterhelfen kann.

Viele Grüße
Sebastian

<?php : mysql_connect("localhost",
"XXXXX","XXXXXX"); ?\> <?php : mysql_select_db("handys");
?\> <?php : $abfrage = "SELECT * FROM tarife";
?\>

Tipp 1: Du musst nicht jede Anweisung in <?php ?> einschließen. Du kannst auch mehrere PHP-Anweisungen in einen solchen Block schreiben.

Wenn ich die php-Seite jedoch öffne, bleibt sie
leer. Weiß jemand woran das liegen könnte?

Ja.

Muss ich beim
Server noch eine Angabe ändern?

Nein.

Die Seite gibt nicht aus, weil sie eben nichts ausgibt. Sie hat ja keinen Inhalt.
Bei serverseitigen Scripts ist es erforderlich, dass diese am Ende ihrer Verarbeitung eine komplette HTML-Seite mit Header aufgebaut haben. Diese wird dann an den Browser zurückgeschickt und diese wird dann dargestellt.

Den HTML-Header hast Du ja offensichtlich schon drin, aber im body kommt dann nichts mehr. Du musst Dein Ergebnis auch ausgeben, echo oder print sind Deine Freunde.

Gruß,
-Efchen

Hallo Sebastian,

deine seite bleibt leer weil du bis jetzt keine ausgabe erzeugst!
du verbindest dich mit der datenbank udn befüllst eine variable mit
einem text. (dein select statement),
dieses statement must du jetzt noch ausgeben.
dafür verwendet man mysql_query das die abfrage an die datenbank schickt und die datenbank gibt deinem php script dann die nötigen daten zurück. dein php script muss die einzelnen datensätze dan z.b mit mysql_fetch_assoc „abarbeiten“ mysql_fetch_assoc gibt dir ein assosiatives array zurück das hat den vorteil das du in deinem php script wieder mit den spalten namen operieren kannst.

deinen momentanen quellcode würde ich erstmal entschlacken in dem ich die vielen doppelten <?php ... ?>anweisungen entferrne.
danach ist es immer gut zu gucken ob man überhaupt eine verbindung bekommen hat. und ob die anderen anweisugnen erfolgreich wahren.
hier mein quellcode (das meiste habe ich mir flott aus den beispielen von php.net zusammen kopiert):

<?php $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) { die('Verbindung nicht möglich : ' . mysql\_error()); } // benutze Datenbank 'handys' $db\_selected = mysql\_select\_db('handys', $link); if (!$db\_selected) { die ('Kann foo nicht benutzen : ' . mysql\_error()); } $abfrage = 'SELECT \* FROM tarife'; /\* Abrfrage durchführen.\*/ $result = mysql\_query($abfrage,$link); if (!$result) { die('Ungültige Abfrage: ' . mysql\_error()); } if (mysql\_num\_rows($result) == 0) { echo 'Keine Zeilen gefunden, nichts auszugeben, daher Abbruch'; }else{ while ($row = mysql\_fetch\_assoc($result)) { echo $row['userid']; echo $row['fullname']; echo $row['userstatus']; } } ?\> da du anfänger mit SQL / PHP bist würde ich dir in jedemfall empfehlen dich auch mit sicherheits aspeckten zu befassen. z.B SQL injections [http://de.wikipedia.org/wiki/SQL-Injektion](https://de.wikipedia.org/wiki/SQL-Injektion) so das deine neue webablikation nicht plötzlich unter kontrolle eines bösen "hackers" ist. und auch PHP sicherheit sollte auf deiner liste stehen von sachen die man wissen will! dazu ein paar faustregeln: 1. Variabelen sollten immer mit "sicheren" werten initalisiert werden. weil Register Globals dazuführen kann das sie sonst von aussen eingschleppt werden! 2. Vertraue keinen User input! alle daten die du vom user entgegenimmst können "böse sachen enthalten" z.B html / javascript code wenn du die daten einfach per echo wieder ausgibst ausgeführt wird. hierfür gibt es php funktionen die quellcode bereinigen. strip\_tags(),htmlentities(),htmlspecialchars() wenn du user daten in die datenbank einfügst! solltest du generell darauf auchten die funktion mysql\_real\_escape\_string() anzuwenden. um die daten gegen sql Injections zu schützen. wenn du eine datenbank id in form eines Integers (ganzzahl) erwartest. solltest du den user input auch auf jedenfall sicherheitsalber durch die funktion intval() in ein integer verwandeln im falle das irgendwehr versucht dir falsche daten zunter zu schieben. viel spass und erfolg beim programmiern gruss chris > [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]