php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.08.2005, 22:41  
Gast
 
Beiträge: n/a
Standard So langsam verzweifel ich :-)

Es existiert eine Tabelle namens "liste"
mit den Feldern von,bis,land

Alle Felder sind INT(10).

In einer zeile hat "von" den wert 10
und "bis" den wert "20".

Gecheckt werden soll jetzt, ob eine
Zahl zwischen von und bis vorkommt.

Der Query müßte eigentlich ein Ergebnis bringen,
tut er aber nicht:

Code:
$zahl = 15;

$alt = mysql_query("SELECT von,bis,land FROM liste WHERE von >= $zahl AND bis <= $zahl);
Wenn man es so mal als Test aufruft, liefert es Ergebnisse:

$alt = mysql_query("SELECT von,bis,land FROM liste WHERE von >=5 AND bis <=25");

Wo liegt der Fehler?

Behandelt er $zahl irgendwie als String und nicht richtig als Zahl?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.08.2005, 22:53  
Gast
 
Beiträge: n/a
Standard

In so einem Fall immer nachgucken, was das Skritp nun eigentlich wirklich macht.
Entweder mit einem Debugger (siehe http://php.net/debugger) oder z.B.durch sinnvolle Ausgaben des Skripts. Dafür ist es hilfreich/notwendig, nicht zu viel in einer zeile/Anweisung machen zu lassen.
Du hast i) Abfrage zusammenbauen und ii) Abfrage an mysql senden in einer Zeile. Das ist dafür schon zuviel
PHP-Code:
<?php
// i)
$query "SELECT von,bis,land FROM liste WHERE von >= $zahl AND bis <= $zahl";
echo 
'

Debug: '
$query"</p>\n";
// ii)
$alt mysql_query($query);
if (!
$alt)
    die(
mysql_error());
else
    echo 
'

Debug: '
mysql_num_rows($alt), " Datensätze wurden geliefert</p>\n";
?>
  Mit Zitat antworten
Alt 19.08.2005, 08:45  
Neuer Benutzer
 
Registriert seit: 25.02.2005
Beiträge: 24
Don Iggy
Standard

Du musst die Variable $zahl in () Setzen. also so:

PHP-Code:
<?php
$zahl 
15;

$alt "SELECT von,bis,land FROM liste WHERE von >= ($zahl) AND bis <= ($zahl)";
$ergebnis mysql_query($alt);
?>
Hat jedenfalls bei mir immer die richtigen Ergebnisse geliefert.
Don Iggy ist offline   Mit Zitat antworten
Alt 19.08.2005, 12:26  
Benutzer
 
Registriert seit: 29.06.2004
Beiträge: 50
brain_overload
Standard Re: So langsam verzweifel ich :-)

Haha...

Zitat:
Zitat von Truncate
[...]Der Query müßte eigentlich ein Ergebnis bringen,
tut er aber nicht:[...]
Klar, weil du folgendes abfragst:
Code:
SELECT von,bis,land FROM liste WHERE 10>=15 AND 20<=15
Einfach größer/kleiner tauschen !

Im übrigen: Bei int Feldern brauchst Du keine einschließenden Anführungszeichen oder gar Klammern.
brain_overload ist offline   Mit Zitat antworten
Alt 19.08.2005, 14:26  
Erfahrener Benutzer
 
Registriert seit: 14.01.2004
Beiträge: 2.543
fantast
fantast eine Nachricht über ICQ schicken
Standard

between hilft weiter, dem, der das mit den klammern noch nich ganz verstanden hat
__________________
Was ist validität?
fantast ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Server sehr langsam Freeaak Server, Hosting und Workstations 6 05.01.2007 14:12
MySQL Abfrage macht Seite langsam Datenbanken 11 19.10.2006 19:38
Gelöst: PHP Sehr langsam cytrobic PHP Tipps 2006 39 01.08.2006 13:32
[Erledigt] Seit PHP5 - vB sehr Langsam PHP Tipps 2006 3 02.03.2006 10:11
mysql_connect von einem xampp-pc auf einen lamp sehr langsam PHP Tipps 2005-2 2 15.06.2005 19:55
php unter apache seeeehr langsam Server, Hosting und Workstations 11 04.06.2005 19:02
Clickzähler macht alles langsam janni PHP Tipps 2005 5 11.05.2005 09:42
[Erledigt] Bild Langsam Einblenden HTML, Usability und Barrierefreiheit 1 03.02.2005 23:04
newsletter problem (sehr langsam) Trumpfass PHP Tipps 2004-2 1 24.11.2004 16:47
PHPMYAdmin sehr langsam / bleibt stehen PHP Tipps 2004-2 8 22.11.2004 09:08
Was kann den Server langsam machen? PHP Tipps 2004-2 8 18.11.2004 20:33
ftp-Server überprüfen, ob er online ist; ist mir zu langsam supertramp PHP Tipps 2004 0 24.09.2004 19:19
fenster baut sich sehr langsam auf. Server, Hosting und Workstations 7 10.08.2004 23:30
[Erledigt] verzweifel an gdLib PHP Tipps 2004 2 17.07.2004 22:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:59 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.