Daten via PHP aus MYSQL_DB auslesen

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

AMD

Betreff: Daten via PHP aus MYSQL_DB auslesen

BeitragDi, Mai 19, 2009 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,

von meinem server werden die accounts alle in einer MySql Datenbank gespeichert. Nun möchte ich für mein Forum dazu noch Dynamische Signaturen erstellen. Ich möchte also praktisch die Daten aus der MySql Datenbank per php-skript auslesen und dann in einem fenster (fürs erste anzeigen lassen). Ich hab versucht anahand eines Tutorials das zu erstellen. So sieht ein screen davon aus:

http://dermanu.de.funpic.de/up...760706.png

aber da stehn momentan ja iwie nur die Kategorien drüber und ned die dazu gehörigen Daten wie z.b. bei ID "1" oder so etwas.

So sieht der php-code dazu aus:


Code: [AUSKLAPPEN]
<?php

$mysqlhost="localhost"; // MySQL-Host angeben

$mysqluser="root"; // MySQL-User angeben

$mysqlpwd=""; // Passwort angeben

$mysqldb="GM"; // Gewuenschte Datenbank angeben

 

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");

 

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht

waehlen.");

 

$sql = "SELECT id, Name, Password, Skin, Geld, RealName, PassName FROM players";

 

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

 

$anzahl = mysql_num_rows($adressen_query);

echo "Anzahl der Datensätze: $anzahl";

?>

 

<table cellpadding="1" cellspacing="3" border="1">

    <tr>

        <td>ID</td>

        <td>Name</td>

        <td>Password</td>

        <td>Skin</td>

        <td>Geld</td>

        <td>RealName</td>

        <td>PassName</td>


    </tr>

 

<?php

while ($adr = mysql_fetch_array($adressen_query)){

?>

    <tr>

        <td><?=$adr['id']?></td>

        <td><?=$adr['Name']?></td>

        <td><?=$adr['Password']?></td>

        <td><?=$adr['Skin']?></td>

        <td><?=$adr['Geld']?></td>

        <td><?=$adr['RealName']?></td>

        <td><?=$adr['PassName']?></td>

    </tr>

<?php

}

?>

 

</table>


wäre cool wenn mir einer weiter helfen kann =)

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

TrikkieMikkie

Betreff: Re: Daten via PHP aus MYSQL_DB auslesen

BeitragDi, Mai 19, 2009 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
<?php

while ($adr = mysql_fetch_array($adressen_query)){

?>


Deine Schleife macht einen Leerlauf...
Sprich: Geschweifte Klammer zu nach den Ausgaben.
 

AMD

BeitragDi, Mai 19, 2009 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ist doch zu oder nicht?

Code: [AUSKLAPPEN]
while ($adr = mysql_fetch_array($adressen_query)){

?>

    <tr>

        <td><?=$adr['id']?></td>

        <td><?=$adr['Name']?></td>

        <td><?=$adr['Password']?></td>

        <td><?=$adr['Skin']?></td>

        <td><?=$adr['Geld']?></td>

        <td><?=$adr['RealName']?></td>

        <td><?=$adr['PassName']?></td>

    </tr>

<?php

} <-das ist doch die dazugehörige klammer oder nicht?
 
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

TrikkieMikkie

BeitragDi, Mai 19, 2009 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Mag sein...

Code: [AUSKLAPPEN]
while ($adr = mysql_fetch_array($adressen_query)){

?>  // Da machste auf jeden Fall den PHP-Block wieder zu

Jolinah

BeitragDi, Mai 19, 2009 23:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Die Klammer ist schon in Ordnung, das ?> beendet ja nicht das Script. PHP und HTML können wild durcheinander gemischt werden. Wichtig ist nur das irgendwann wieder ein PHP-Block folgt in dem die schliessende Klammer für die Schleife steht.

Zitat:
echo "Anzahl der Datensätze: $anzahl";


Diese Zeile wird laut dem Screenshot nicht ausgegeben, also scheint das Script vorher irgendwo abzubrechen. Eventuell könnte es am "or die" bei mysql_query liegen, damit hatte ich mit bestimmten PHP-Versionen auch schon Probleme. Vielleicht funktionierts wenn du das entfernst. Ansonsten sehe ich auf den ersten Blick keine Fehler.

ComNik

BeitragMi, Mai 20, 2009 7:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich arbeite immer mit mysql_fetch_assoc()
WIP: Vorx.Engine
 

AMD

BeitragMi, Mai 20, 2009 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Diese Zeile wird laut dem Screenshot nicht ausgegeben, also scheint das Script vorher irgendwo abzubrechen. Eventuell könnte es am "or die" bei mysql_query liegen, damit hatte ich mit bestimmten PHP-Versionen auch schon Probleme. Vielleicht funktionierts wenn du das entfernst. Ansonsten sehe ich auf den ersten Blick keine Fehler.


hm hat leider auch ohne "or die" nicht funktioniert.

Zitat:
Also ich arbeite immer mit mysql_fetch_assoc()


kannst du mir vll mal zeigen wie das dann aussieht?


vll wenns iwas dazu beiträgt hier mal meine datenbank struktur

http://dermanu.de.funpic.de/up...824382.png

und das ganze läuft momentan noch auf meinen rechner über xampp.

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

ComNik

BeitragMi, Mai 20, 2009 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Also genauso wie deins... ... nur eben leicht verändert Rolling Eyes

Code: [AUSKLAPPEN]

  <?php

$mysqlhost="localhost"; // MySQL-Host angeben

$mysqluser="root"; // MySQL-User angeben

$mysqlpwd=""; // Passwort angeben

$mysqldb="GM"; // Gewuenschte Datenbank angeben

 

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");

 

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht

waehlen.");

 

$sql = "SELECT id, Name, Password, Skin, Geld, RealName, PassName FROM players";

 

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

 

$anzahl = mysql_num_rows($adressen_query);

echo "Anzahl der Datensätze: $anzahl";

?>

 

<table cellpadding="1" cellspacing="3" border="1">

    <tr>

        <td>ID</td>

        <td>Name</td>

        <td>Password</td>

        <td>Skin</td>

        <td>Geld</td>

        <td>RealName</td>

        <td>PassName</td>


    </tr>

 

<?php

while ($adr = mysql_fetch_assoc($adressen_query)){    // <------ HIER GUCKEN!

?>

    <tr>

        <td><?=$adr['id']?></td>

        <td><?=$adr['Name']?></td>

        <td><?=$adr['Password']?></td>

        <td><?=$adr['Skin']?></td>

        <td><?=$adr['Geld']?></td>

        <td><?=$adr['RealName']?></td>

        <td><?=$adr['PassName']?></td>

    </tr>

<?php

}

?>

 

</table>


Ach und gerade sehe ich, dass du by "or die("...")" kein ".mysql_error()" hast...
Ich wusste nich das das ohne geht.

mfg
WIP: Vorx.Engine
 

AMD

BeitragMi, Mai 20, 2009 19:38
Antworten mit Zitat
Benutzer-Profile anzeigen
hm mit deinem geposteten code gehts leider auch nicht. Ich denke aber das liegt wohl eher an etwas anderem als an der ausgabe, denn mir ist vorhin aufgefallen, das wenn ich die daten verändere also wie "localhost" und "root" und "GM", das mir keine fehlermeldung angezeigt wird und trotzdem noch die tabelle kommt eben ohne den werten.

aber die werte sollten doch eigl. alle passen oder? sieht man auch auf dem screen
http://dermanu.de.funpic.de/up...824382.png

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Jolinah

BeitragMi, Mai 20, 2009 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Achso, mir ist gerade aufgefallen dass eines deiner Felder Password heisst und das ist in MySQL auch eine Funktion. Am besten umgibst du alle Felder und Tabellennamen immer mit einem `-Zeichen:

Code: [AUSKLAPPEN]
$sql = "SELECT `id`, `Name`, `Password`, `Skin`, `Geld`, `RealName`, `PassName` FROM `players`";


Wenn das auch nichts bringt würde ich mal im PHP-Log nachschauen oder folgende Einträge in der php.ini bei XAMPP anpassen und XAMPP neu starten, damit Fehlermeldungen direkt im Browser ausgegeben werden:

Code: [AUSKLAPPEN]
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
 

AMD

BeitragMi, Mai 20, 2009 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hm hat leider nichts gebracht und in der php.ini war schon alles so eingestellt wie du es gepostet hast.
hier nochmal das jetztige script:

Code: [AUSKLAPPEN]
<?php

$mysqlhost="127.0.0.1"; // MySQL-Host angeben

$mysqluser="root"; // MySQL-User angeben

$mysqlpwd=""; // Passwort angeben

$mysqldb="GM"; // Gewuenschte Datenbank angeben

 

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");

 

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht

waehlen.");

 

$sql = "SELECT `id`, `Name`, `Password`, `Skin`, `Geld`, `RealName`, `PassName` FROM `players`";

 

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

 

$anzahl = mysql_num_rows($adressen_query);

echo "Anzahl der Datensätze: $anzahl";

?>

 

<table cellpadding="1" cellspacing="3" border="1">

    <tr>

        <td>ID</td>

        <td>Name</td>

        <td>Password</td>

        <td>Skin</td>

        <td>Geld</td>

        <td>RealName</td>

        <td>PassName</td>


    </tr>

 

<?php

while ($adr = mysql_fetch_array($adressen_query)){

?>

    <tr>

        <td><?=$adr['id']?></td>

        <td><?=$adr['Name']?></td>

        <td><?=$adr['Password']?></td>

        <td><?=$adr['Skin']?></td>

        <td><?=$adr['Geld']?></td>

        <td><?=$adr['RealName']?></td>

        <td><?=$adr['PassName']?></td>

    </tr>

<?php

}

?>

 

</table>
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341
  • Zuletzt bearbeitet von AMD am So, Mai 24, 2009 13:08, insgesamt einmal bearbeitet

Jolinah

BeitragMi, Mai 20, 2009 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs kurz auf meinem lokalen Webserver getestet. Es scheint an den <?= ... ?> zu liegen. Das hatte ich bisher auch noch nie verwendet, aber ich wusste das es sowas gibt...

Jedenfalls hat es bei mir wie gewünscht funktioniert nachdem ich es durch das hier ersetzt hatte:

Code: [AUSKLAPPEN]
    <tr>

        <td><?php echo $adr['id']; ?></td>

        <td><?php echo $adr['Name']; ?></td>

        <td><?php echo $adr['Password']; ?></td>

        <td><?php echo $adr['Skin']; ?></td>

        <td><?php echo $adr['Geld']; ?></td>

        <td><?php echo $adr['RealName']; ?></td>

        <td><?php echo $adr['PassName']; ?></td>

    </tr>


Wink
 

AMD

BeitragMi, Mai 20, 2009 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
<?php

$mysqlhost="127.0.0.1"; // MySQL-Host angeben

$mysqluser="root"; // MySQL-User angeben

$mysqlpwd=""; // Passwort angeben

$mysqldb="GM"; // Gewuenschte Datenbank angeben

 

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die

("Verbindungsversuch fehlgeschlagen");

 

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht

waehlen.");

 

$sql = "SELECT `id`, `Name`, `Password`, `Skin`, `Geld`, `RealName`, `PassName` FROM `players`";

 

$adressen_query = mysql_query($sql) or die("Anfrage nicht erfolgreich");

 

$anzahl = mysql_num_rows($adressen_query);

echo "Anzahl der Datensätze: $anzahl";

?>

 

<table cellpadding="1" cellspacing="3" border="1">

    <tr>

        <td>ID</td>

        <td>Name</td>

        <td>Password</td>

        <td>Skin</td>

        <td>Geld</td>

        <td>RealName</td>

        <td>PassName</td>


    </tr>

 

<?php

while ($adr = mysql_fetch_array($adressen_query)){

?>

    <tr>

        <td><?php echo $adr['id']; ?></td>

        <td><?php echo $adr['Name']; ?></td>

        <td><?php echo $adr['Password']; ?></td>

        <td><?php echo $adr['Skin']; ?></td>

        <td><?php echo $adr['Geld']; ?></td>

        <td><?php echo $adr['RealName']; ?></td>

        <td><?php echo $adr['PassName']; ?></td>

    </tr>

<?php

}

?>



 

</table>


also bei mir siehts dann jetzt so aus noch mit den "?>" ..., geht leider aber immer noch nicht Sad es wird immer noch nur "ID Name Password Skin Geld RealName PassName" angezeigt aber keine dazugehörigen spielerdaten. Dann hab ichs ohne den "?>" versucht, ging aber auch ned.

hast du "?>" noch drin oder raus gemacht? vll hab ich beim raus machen irgendwas falsch gemacht oder so.

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Jolinah

BeitragDo, Mai 21, 2009 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau so sah das Script bei mir aus und es hat funktioniert. Es kam auch vor der Korrektur schon die Zeile "Anzahl der Datensätze: 1". Kommt diese bei dir auch?

Wenn nicht, muss es wie gesagt schon vor dem Query einen Fehler geben. Vielleicht ist mit den Zugangsdaten zu MySQL doch noch etwas nicht ganz korrekt?

Am besten kommentierst du nochmal alle "or die" aus. Irgend eine Fehlermeldung müsste PHP theoretisch bringen. Es sei denn du hast in der Tabelle aus irgend einem Grund keinen Datensatz mehr, denn dann wäre die Ausgabe ja richtig.
 

AMD

BeitragDo, Mai 21, 2009 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
hm ich werd mir das ganze noch einmal an sehen, aber mal was anderes, macht es denn einen unterschied ob ich das als .php oder .html speichere und dann im Firefox ausführe?

oder kann es vll auch an den Rechten von dem user "root" liegen? Muss ich da auf etwas achten?
oder kann es auch daran liegen das ich kein PW angegeben habe? Aber ich habe keines drin also muss ich doch nichts zwischen "" schreiben oder?

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Jolinah

BeitragDo, Mai 21, 2009 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Die Dateiendung muss .php lauten, da der Webserver von XAMPP nur dann im Quellcode nach PHP-Code sucht und ihn ausführt. Man kann das in der Konfigurationsdatei von Apache beliebig anpassen, aber die Standardeinstellung ist eigentlich bei jedem Webserver php.

Mit dem Benutzer root müsste es in jedem Fall funktionieren, da dieser volle Rechte auf jede Datenbank hat. Beim Passwort bin ich mir nicht so sicher, aber in der Regel sollte auch das nichts machen. Ein Versuch kann hier sicher nicht schaden Wink
 

AMD

BeitragSa, Mai 23, 2009 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
hm ich glaub ich hab rausgefunden wie ich das script noch laden kann und dann wird mir eine fehlermeldung angezeigt, ich bin bei xampp ins abfrage fenster und dann wurde mir diese fehlermeldung angezeigt.

Kann mir jemand sagen was da falsch ist?

Es scheint einen Fehler in Ihrer MySQL-Abfrage zu geben. Die MySQL-Fehlerausgabe, falls vorhanden, kann Ihnen auch bei der Fehleranalyse helfen.

Code: [AUSKLAPPEN]
ERROR: Unbekannte Interpunktion @ 1
STR: <?
SQL: <?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";<?php

$mysqlhost="localhost";


SQL-Befehl:

<?php $mysqlhost="localhost";

MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php

$mysqlhost="localhost"' at line 1
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Jolinah

BeitragSo, Mai 24, 2009 12:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich kenn mich mit XAMPP nicht so gut aus, aber das ist wahrscheinlich nur für SQL. Das heisst, du kannst damit keine PHP-Scripte ausführen Wink

Wie hast du denn die PHP-Dateien bisher geöffnet? Hast du sie einfach direkt von der Festplatte geöffnet, oder bist du wirklich über den XAMPP Webserver (http://localhost/datei.php) gegangen? Es wundert mich nämlich schon, dass bei den aktuellen Einstellungen keine einzige Fehlermeldung angezeigt wird.

Wenn du die Datei direkt von der Festplatte lädst kann es nicht gehen, da dann gar kein PHP ausgeführt wird und alle PHP-Tags komplett ignoriert werden, so dass dann nur noch die Tabellenüberschrift angezeigt wird.
 

AMD

BeitragSo, Mai 24, 2009 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
und genau da lag mein problem =) ich habe es immer ganz normal vom desktop aus gestartet mit Firefox, wusste nicht das ich das erst da irgendwie rein kopieren muss, bin ja auch noch anfänger in sachen mysql-datenbanken. Mega THX, hast mir sehr geholfen!

MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Jolinah

BeitragSo, Mai 24, 2009 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hehe, immer gern. Hauptsache es läuft jetzt Smile

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group