mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 09:24 Benutzername: Passwort: Auto-Login

Thema: [PHP] Probleme bei $_POST und Datenbank abfrage vom 20.10.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Probleme bei $_POST und Datenbank abfrage
Autor Nachricht
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 20.10.2005 11:32
Titel

[PHP] Probleme bei $_POST und Datenbank abfrage

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:31
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

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...
  View user's profile Private Nachricht senden
Doppelplusgut

Dabei seit: 06.10.2005
Ort: Zimmer 101
Alter: 55
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:45
Titel

Antworten mit Zitat Zum Seitenanfang

Versuch mal
Code:
 $sqlabfrage= "SELECT name , vorname , gehalt FROM personen WHERE gehalt >= '" . $_POST["untergrenze"] . "' AND gehalt <= '" . $_POST["obergrenze"] . "' ORDER BY gehalt";
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
gtz

Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:46
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

print_r($_POST);
?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Lapje
Threadersteller

Dabei seit: 17.06.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:51
Titel

Antworten mit Zitat Zum Seitenanfang

@Doppelplusgut
das funzt so...komischerweise sind die " ' " nicht in der Lösung drinn...blödes Buch..*zwinker*

besten dank...jetzt weiss ich auch wie das funzt...

Lapje
  View user's profile Private Nachricht senden
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.