MySQL
Susanne
- php
Hallo leute,
Ich habe eine Datenbank und möchte nun über PHP Daten ausfragen,
aber irgendwie bekomme ich das nicht hin.
Aber aus diverser Literatur habe ich folgendes entnommen aber
das klappt nicht.
<?php
$user="root";
$host="localhost";
$pwd="";
if(mysql_connect($host,$user,$pwd))
{
echo "Verbindung steht<br>";
}
else
{
echo "Fehler".mysql_error();
}
if(mysql_select_db("webshop"))
{
echo "Datenbank gefunden";
}
else
{
echo "Datenbank nicht gefunden!".mysql_error();
}
$frage=mysql_query("SELECT kundenname from kunden where kundennummer='1';");
while($zeile = mysql_fetch_array($frage,MYSQL_ASSOC))
{
echo $zeile;
}
?>
Oder ist das die falsche Methode um Daten auszulesen?
Als ergebnis bekomme ich nur "Array" mehr nicht.
Danke ! ;-)
Hi Susanne,
while($zeile = mysql_fetch_array($frage,MYSQL_ASSOC))
genau, du bekommst nur Array raus, weil du ja auch ein Array angefordert hast. Du könntest übrigens auch kürzer schreiben mysql_fetch_assoc.
Dieses assoziative Array enthält genau die abgefragten Spalten unter ihren jeweiligen Namen (siehe var_dump($zeile)). In deinem Fall wäre der Zugriff als
echo $zeile['kundenname'];
MfG
Rouven
Hi Susanne,
while($zeile = mysql_fetch_array($frage,MYSQL_ASSOC))
genau, du bekommst nur Array raus, weil du ja auch ein Array angefordert hast. Du könntest übrigens auch kürzer schreiben mysql_fetch_assoc.
Dieses assoziative Array enthält genau die abgefragten Spalten unter ihren jeweiligen Namen (siehe var_dump($zeile)). In deinem Fall wäre der Zugriff als
echo $zeile['kundenname'];MfG
Rouven
Hallo Rouven....
Yep Danke hat geklappt!
Schönen Sonntag noch!
echo $begrüßung;
Hier besteht noch weiterer Verbesserungsbedarf:
if(mysql_connect($host,$user,$pwd))
{
echo "Verbindung steht<br>";
}
else
{
echo "Fehler".mysql_error();
}
Wenn der Datenbank-Connect nicht geklappt hat, gibst du eine Meldung aus. Läufst aber munter und fröhlich mit der nicht vorhandenen Verbindung in weitere Befehle, die eine solche aber voraussetzen.
if(mysql_select_db("webshop"))
{
echo "Datenbank gefunden";
}
else
{
echo "Datenbank nicht gefunden!".mysql_error();
}
$frage=mysql_query("SELECT kundenname from kunden where kundennummer='1';");
while($zeile = mysql_fetch_array($frage,MYSQL_ASSOC))
Auch bei mysql_query() können Fehler auftreten. Der Rückgabewert ist dann false, was aber kein gültiges Argument für die Fetch-Funktionen ist.
Außerdem sollten mit mysql_query() abgesendete Statements kein abschließendes Semikolon enthalten. mysql_query() sendet immer nur ein einzelnes Statement ab. Das ist eindeutig genug, da braucht es kein abschließendes Zeichen.
echo "$verabschiedung $name";