PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : einfache Datenbankabfrage



chakalaka1984
18-10-2007, 11:27
Hallo

ich habe mit phpmyadmin eine einfache Sql Datenbank erstellt. Diese will ich jetzt über php abfragen und anschließend das php Skript zum Anzeigen der Datenbakinhalte auf meiner Homepage über html einbinden. Der php Code sieht folgendermaßen aus:


<?php
//-----------------------------------------------------
$Datenbank="Test";
$Benutzer="Ich";
$Passwort="***";
$Server="localhost";
//-----------------------------------------------------
$verbinden= mysql_connect($Server,$Benutzer,$Passwort)
or die("Konnte nicht anmelden!".mysql_error());
mysql_select_db($Datenbank,$verbinden)
or die("Konnte nicht verbinden!".mysql_error());

//Datenbankabfrage
$result = mysql_db_query($sql =SELECT * FROM `Userdaten` WHERE 1`Vorname`);

for ($i=0; $i<$num_rows; $i++)
{
echo mysql_result($result, $i, "Vorname"), ", ";
}

/* Ausgabe der Ergebnisse in HTML */

echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}

echo "\t</tr>\n";

$count++;
}

echo "</table>\n";

if ($count == 0) echo "Konnte nichts finden";

/* Freigeben des Resultsets */
mysql_free_result($result);

mysql_close($link);
mysql_close($dbh);
<?php

Anschließend binde ich php in html ein-für die Ausgabe auf meiner Homepage:
<!-- [BEGIN Custom1] -->

<!-- [END Custom1] -->
<!-- [BEGIN Beginn des Datei-Skripts Seite] -->

<!-- [END Beginn des Datei-Skripts Seite] -->
<!-- [BEGIN Beginn des Datei-Skripts Master] -->

<!-- [END Beginn des Datei-Skripts Master] -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="author" content="Ich">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<a href="Pfaddesphpskriptes"></a>
<form action="http://www.meinehomepage.de/datenbankabfrage.php" method="post">
</body>
</html>

Ich bekomme weder eine Fehlermeldung, noch eine Anzeige meiner Datenbankeinträge.

Kann mir irgendjemand helfen?

anniyka
18-10-2007, 13:33
//Datenbankabfrage
$result = mysql_db_query($sql =SELECT * FROM `Userdaten` WHERE 1`Vorname`);

aendern in:


//Datenbankabfrage
$sql = "SELECT * FROM `Userdaten` WHERE 1`Vorname`";
$result = mysql_db_query($sql);

Das ist Punkt 1, zweistens...
WAS WILLST DU ABFRAGE??????? :eek::confused:

Eine Abfrage ala WHERE 1`Vorname` ist mir gelinde gesagt absolut schleierhaft.

Du hast also eine leere Abfrage aus der Datenbank.

Du machst weiter mit:

for ($i=0; $i<$num_rows; $i++)

Nun, woher hast Du denn $num_rows? Da Du es vorher nicht definiert hast, ist es leer (nicht 0) und damit wird die Schleife nie durchlaufen, also selbst wenn irgendetwas in deiner SQL-Abfrage drinstehen wuerde wird hier nichts ausgegeben.

In einer while-schleife hast du ein $count++; drin. Aber da $count nie angesprungen wurde ist es auch leer, also ebenfalls nicht mal 0. Daher laeuft auch Dein if ($count == 0) ins leere, denn es ist nie "0".

Als nächstes, du kannst nicht einfach ein paar <?php in einem Script aufmachen, ohne sie auch mal mit ?> zu schliessen.

Und als letztes fängst Du dann mit einem HTTP-Header an, nachdem du schon per echo vorher Daten rausgeschickt hast.

Es tut mir leid dir das jetzt so sagen zu muessen, aber solltest du dir zum lernen von PHP nicht erstmal einfachere Sachen suchen? Zumindest sieht es so aus, als habest Du Dir die Sachen zusammenkopiert ohne ganz zu verstehen was es eigentlich tun soll. Ich hoffe ich tu dir damit jetzt nicht unrecht, aber es sieht so aus.

gruss,
anniy

msi
18-10-2007, 14:07
Ich bekomme weder eine Fehlermeldung, noch eine Anzeige meiner Datenbankeinträge.



wenn du über den webserver keine fehlermeldung kriegst, dass du syntaxfehler im script hast, schau dir mal die apache logs an
(/var/log/apache/access.log oder /var/log/apache/error.log unter machne linux distributionen). Dort stehen diese Syntaxfehler dann angeben und du kannst afu fehlerbehebung gehen.
ansosten schließ ich mich der vorposterin an.

Gaert
22-10-2007, 08:04
Hallo Zusammen,

ein
echo mysql_error(); nach der Abfrage schadet auch nichts, um eventuelle Fehler im SQL Statement zu finden.

http://de.php.net/mysql_error

Gruß,

Gaert