Autor |
Nachricht |
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 20.10.2005 11:32
Titel [PHP] Probleme bei $_POST und Datenbank abfrage |
|
|
Morgen Leutz...
Bin hier bei einer kleinen Übungsaufgabe in PHP drann. Es sollen Name, Vorname und Gehalt aus einer Datenbank abgefragt werden. Mit der normalen Abfrage $untergrenze bzw. $obergrenze funzt das...aber wenn ich da mit $_POST rangehen will funzt das ganze nicht. Bekomme dann immer volgende Fehlermeldung:
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\test_php\ud08a.php on line 20
Das ist die Reihe mit
$num = mysql_num_rows($ergebnis);
Da ich aber gelesen habe das $_POST eher zu benutzen ist, wollte ich das ganze auch hier anwenden...hab den Code mal unten eingefügt:
ud08.php
<body>
Anzeige von Personen mit Gehalt zwischen:
<form action="ud08a.php" method="post">
<input name="untergrenze"> Untergrenze <p>
und <p>
<input name="obergrenze"> Obergrenze <p>
<input type="submit"> <input type="reset">
</form>
</body>
ud08a.php
?php
mysql_connect();
mysql_select_db("firma");
$sqlabfrage= "SELECT name , vorname , gehalt FROM personen WHERE gehalt >= " . $_POST["untergrenze"] . "AND gehalt <= " . $_POST["obergrenze"] . " ORDER BY gehalt";
$ergebnis = mysql_query($sqlabfrage);
$num = mysql_num_rows($ergebnis);
if ($num == 0) echo "Keine passenden Datensätze gefunden";
else
while($dsatz = mysql_fetch_assoc($ergebnis))
{
echo $dsatz["name"] . ", "
. $dsatz["vorname"] . ", "
. $dsatz["gehalt"] . "<br> ";
}
?>
hat jemand zufällig eine Idee???
besten dank
Lapje
|
|
|
|
|
rob
Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht:
|
Verfasst Do 20.10.2005 12:31
Titel
|
|
|
Enthalten deine Variablen Werte? Prüfe mit print_r() oder mit empty(), isset().
Dann weißt du schon mal, ob da was nicht ankommt.
dann setzt ein echo vor deine sql-abfrage. dann siehst du, ob da die werte korrekt eingesetzt werden und die abfrage ok ist.
und mach aus:
$ergebnis = mysql_query($sqlabfrage);
mal:
$ergebnis = @mysql_query($sqlabfrage) or die( 'Fehler: ' . mysql_error() );
wenn es dann hier einen fehler gibt, dann wird dir gesagt, was das ist.
wahrscheinlich liegt in der query schon der fehler und deswegen kann num_rows kein gültige sessource übergeben werden.
und das hier ist falsch. die type-angabe fehlt. aber das ist nicht dein problem hier...
<input name="untergrenze"> Untergrenze <p>
EDIT:
moment... was ist das?
mysql_connect();
das steht so in deinem code? dann kann gar keine verbindung zum dbserver hergestellt werden... da müssen ja verbindungsdaten übergeben werden...
Zuletzt bearbeitet von rob am Do 20.10.2005 12:34, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 20.10.2005 12:42
Titel
|
|
|
das mit mysql_connect(); funzt aber hier so, da es sich nur um einen virtuellen Server handelt. Wie gesagt, wenni ch die Variablen ganz normal auslesen lasse funzt es auch, nur bei $_POST nicht....keine ahnung warum...
|
|
|
|
|
Doppelplusgut
Dabei seit: 06.10.2005
Ort: Zimmer 101
Alter: 55
Geschlecht:
|
Verfasst Do 20.10.2005 12:45
Titel
|
|
|
Versuch mal Code: | $sqlabfrage= "SELECT name , vorname , gehalt FROM personen WHERE gehalt >= '" . $_POST["untergrenze"] . "' AND gehalt <= '" . $_POST["obergrenze"] . "' ORDER BY gehalt"; |
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Do 20.10.2005 12:46
Titel
|
|
|
?
|
|
|
|
|
Lapje
Threadersteller
Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Do 20.10.2005 12:51
Titel
|
|
|
@Doppelplusgut
das funzt so...komischerweise sind die " ' " nicht in der Lösung drinn...blödes Buch..
besten dank...jetzt weiss ich auch wie das funzt...
Lapje
|
|
|
|
|
|
|
|
Ähnliche Themen |
While-Schleife für Datenbank-Abfrage mit PHP
[PHP, MySQL] Datenbank Abfrage sortieren
datenbank abfrage bzgl. buddylist
[PHP, MySQL] Datenbank Abfrage nach Datum sortieren
[MySQL] Probleme bei Abfrage/Löschen aus Verbindungstabelle
Wordpress: Probleme einen Post über Ajax zu laden
|
|