Seite 1 von 1

prob mit mysql...

Verfasst: 28.11.2005 18:46
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

Verfasst: 28.11.2005 19:02
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:

Verfasst: 28.11.2005 19:07
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:

Verfasst: 28.11.2005 19:11
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:

Verfasst: 28.11.2005 19:21
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.

Verfasst: 28.11.2005 19:27
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*).

Verfasst: 28.11.2005 19:29
von xell2k
hey es funktioniert! Danke! :grin:

Verfasst: 29.11.2005 11:29
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 );


}

?>

Verfasst: 29.11.2005 14:09
von fanrpg

Code: Alles auswählen

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