prob mit mysql...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
xell2k
Mitglied
Beiträge: 13
Registriert: 28.11.2005 18:41
Kontaktdaten:

prob mit mysql...

Beitrag von xell2k »

Code: Alles auswählen

<?php 

$user = "tms"; 
$pw = "-----"; 
$db = "tms"; 
$cat = "e-gitarren"; 

$link = mysql_connect( "mysql.musik-tms.at", $user, $pw ); 
   

mysql_select_db( $db, $link )
	or die( "Error!" );
    

$result = mysql_query( "SELECT * FROM '$cat'" ); 
$anz = mysql_num_rows( $result); 

print "$anz"; 

print "<table border='1'>\n"; 

while ( $datensatz = mysql_fetch_array( $result )) 
   { 
   print "<tr>\n"; 
   print "<td>{$datensatz['hersteller']}</td><td>{$datensatz['bezeichnung']}</td>\n"; 
   print "</tr>\n"; 
   } 

print "</table>\n"; 

mysql_close( $link ); 




?>
ich weiß echt nicht warum das nicht geht. in der tabelle sind daten aber es wird nix ausgelesen. ohne fehlermeldung. nur das <table> und das </table> wird ausgegeben
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Schau dir mal das Beispiel 1 an: [php:mysql]. Ich würde an deiner Stelle (wie in diesem Beispiel auch) mysql_error() bei einem fehlgeschlagenen Query (mysql_query()) ausgeben lassen, dann siehst du nämlich schnell, was falsch ist. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
xell2k
Mitglied
Beiträge: 13
Registriert: 28.11.2005 18:41
Kontaktdaten:

Beitrag von xell2k »

Anfrage fehlgeschlagen: 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 ''e-gitarren'' at line 1
das kommt raus :roll:
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Tabellen- oder Spaltennamen müssen/dürfen nicht mit Hochkommas umschlossen werden. Wenn sie Leerzeichen enthalten sollten, dann schließt man sie bei MySQL mit ` ein. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

S2B hat geschrieben:Wenn sie Leerzeichen enthalten sollten, dann schließt man sie bei MySQL mit ` ein. :wink:
Ist aber einfacher für jeden zu lesen wenn man das bei allen Feldern macht und auch sicherer, wenn man ein Feldnamen hat der den selben Namen hat wie eine Funktion, dann gibts auch nen error.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

fanrpg hat geschrieben:Ist aber einfacher für jeden zu lesen wenn man das bei allen Feldern macht und auch sicherer, wenn man ein Feldnamen hat der den selben Namen hat wie eine Funktion, dann gibts auch nen error.
Jep, ich mache es auch fast immer, aber nötig ist es nicht, da man normalerweise keine Feldnamen mit Leerzeichen verwenden sollte (besser gesagt: Es ist unpraktisch^^) und auch keine, die wie Funktionen heißen. Außerdem bekommst du spätestens dann Probleme, wenn das Script (z.B. ein phpBB-MOD) mit mehreren DB-Systemen laufen soll (ok, ich geb's zu, einige meiner MODs verwenden auch ` *g*).
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
xell2k
Mitglied
Beiträge: 13
Registriert: 28.11.2005 18:41
Kontaktdaten:

Beitrag von xell2k »

hey es funktioniert! Danke! :grin:
xell2k
Mitglied
Beiträge: 13
Registriert: 28.11.2005 18:41
Kontaktdaten:

Beitrag von xell2k »

ok mein script funzt...

kann mir noch jemand dabei helfen, wie ich die ausgelesenen datensätze nach hersteller sortieren kann, bevor sie ausgegeben werden? thx!
<?php

$user = "tms";
$pw = "-----";
$db = "tms";

if( isset($cat)) {

$link = mysql_connect( "mysql.musik-tms.at", $user, $pw );


mysql_select_db( $db, $link )
or die( "Error!" );


$result = mysql_query( "SELECT * FROM `$cat`" ) or die("Anfrage fehlgeschlagen: " . mysql_error());

$anz = mysql_num_rows( $result);


print "<font size='1' face='Verdana'>";
print "<table border='0' cellpadding='2' cellspacing='2'>\n";

while ( $datensatz = mysql_fetch_array( $result ))
{
print "<tr valign='top'>\n";
print "<td width='150'><b><font size='1'>$datensatz[Hersteller] $datensatz[Bezeichnung]</font></b></td>\n";
print "<td><font size='1'>$datensatz[Beschreibung]</font></td>";
print "<td width='110' align='center'>";

if( $datensatz[Bild] == NULL )
{
print "<font size='1'>kein Bild verfügbar</font>";
}
else {
print "<a href='$datensatz[Bild]' target='_blank'><font size='1'>Bild ansehen</font></a>";
}
print "</td>";

print "<td width='110' align='right'><b><font color='#ff0000' size='1'>nur € $datensatz[Preis]</font></b></td>";

print "</tr>\n";

print "<tr><td colspan='4' height='20'></td></tr>";
}

print "</table>\n";
print "</font>";

mysql_close( $link );


}

?>
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

SELECT * FROM `$cat` ORDER BY `hersteller`
Antworten

Zurück zu „Coding & Technik“