php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.06.2011, 19:26  
Neuer Benutzer
 
Registriert seit: 06.06.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Ineffizienz befindet sich auf einem aufstrebenden Ast
Standard MySQL Fehler

Moin,

ich mal wieder. Kurz zur Erläuterung, was ich tue bzw. tun möchte. Ich habe eine Tabelle mit Personendaten. Die Daten existieren und sind korrekt eingefügt.
Nun möchte ich ein Suchscript bauen. Der Quelltext dazu sieht folgendermaßen aus:

PHP-Code:
$sql mysql_query("SELECT COUNT (*) FROM buchung WHERE Tag = '".$_REQUEST['tag']."' OR von = '".$_REQUEST['zeit1']."' OR bis= '".$_REQUEST['zeit2']."'");

if (
mysql_num_rows($sql) == 0)
         {
         echo 
"Ihre Suche ergab leider keine Treffer.";

         } else {


         
$result mysql_query("SELECT * FROM buchung WHERE Tag = '$_REQUEST[tag]' OR von = '$_REQUEST[zeit1]' OR bis= '$_REQUEST[zeit2]'");

         while(
$row mysql_fetch_object($result))

         {

         echo  
"UserID: $row->UserID <br> Datum: $row->Tag <br> von: $row->von <br> bis: $row->bis <br>";

         }
         }


mysql_close($con); 
nun erhalte ich aber folgende Fehlermeldung:
Code:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\neu\kujara\suche.php on line 18
Wenn ich nun einen Debugger dadrüber laufen neben her laufen lassen, kriege ich die Ausgabe:

Code:
Query is empty.
Demnach müsste ja mysql_query kein Ergebnis liefern, aber warum nicht?

Schon mal vielen Dank für die Hilfe
Ineffizienz
Ineffizienz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.06.2011, 20:20  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

http://www.php.de/wiki-php/index.php/Debugging:SQL
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 26.06.2011, 21:15  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.856
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Wirkt schon fast wie nen paranoides Script, mag auch sein das dein Script einfach zuviel Angst vor SQL-Vergewaltigung hat ( SQL Injection ).
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 26.06.2011, 21:23  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Du solltest dir vielleicht überlegen welchen Sinn es macht einen COUNT in einer Abfrage zu machen und dann auf deren Ergebnis ein mysql_num_rows loszulassen.

Dann weißt du auch, wo der Fehler liegt.
DirkHo ist offline   Mit Zitat antworten
Alt 26.06.2011, 22:38  
Neuer Benutzer
 
Registriert seit: 06.06.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Ineffizienz befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tr0y
Wirkt schon fast wie nen paranoides Script, mag auch sein das dein Script einfach zuviel Angst vor SQL-Vergewaltigung hat ( SQL Injection ).
Weil ich das Script auch so ins Internet stellen würde... is klar...

Zitat:
Zitat von DirkHo
Du solltest dir vielleicht überlegen welchen Sinn es macht einen COUNT in einer Abfrage zu machen und dann auf deren Ergebnis ein mysql_num_rows loszulassen.

Dann weißt du auch, wo der Fehler liegt.
auch mysql_fetch_object oder mysql_fetch_array liefern solche ergebnisse.

@ChrisB den link werd ich mir demnächst ansehen.
Ineffizienz ist offline   Mit Zitat antworten
Alt 26.06.2011, 22:48  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Zitat:
Zitat von Ineffizienz Beitrag anzeigen
auch mysql_fetch_object oder mysql_fetch_array liefern solche ergebnisse.
?

mysql_num_rows liefert die Anzahl der betroffenen Datensätze der letzten Abfrage, mysql_fetch_* die konkreten Datensätze.

select count(*) wird IMMER genau einen Datensatz zurückliefern. Der INHALT des Datensatzes ist aber interessant (0-n), nicht die Anzahl (1) der Datensätze, und den bekommst du nur indem du das Ergebnis abgreifst...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 26.06.2011, 22:58  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

@lstegelitz: Schön und gut, hilft aber alles nichts, wenn bereits die Abfrage schief ging. Und genau in diesem Fall bekommt man die hier vorliegende Fehlermeldung.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 27.06.2011, 08:20  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

das kann aber eigentlich nicht am gezeigten SQL-Code liegen, der sieht nämlich korrekt aus - lass dir bitte den Abfrage-Text MIT eingesetzten PHP-Variablen ausgeben, bevor du ihn zur Datenbank schickst ... UND VERSICHERE DICH, dass vorher auch eine Verbindung zur Datenbank besteht und die richtige Datenbank ausgewählt wurde!

PHP-Code:
$abfrage="SELECT ...";
var_dump($abfrage);
$sql=mysql_query($abfrage); 
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

Geändert von eagle275 (27.06.2011 um 09:21 Uhr).
eagle275 ist offline   Mit Zitat antworten
Alt 27.06.2011, 18:46  
Neuer Benutzer
 
Registriert seit: 06.06.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
Ineffizienz befindet sich auf einem aufstrebenden Ast
Standard

@ChrisB auch nach durcharbeiten deines Links bleibt der Fehler der Selbe.

@eagle275 also Ausgabe bekomme ich:

Code:
bool(false)
Ich hab jetzt den Quelltext formatiert, so dass die Anweisungen in mehreren Zeilen stehen und hab versucht den Fehler einzugrenzen. Irgendwie wirkt es auf mich, als könnte die Abfrage nichts mit der count-Funktion anfangen...
Ineffizienz ist offline   Mit Zitat antworten
Alt 27.06.2011, 21:47  
Benutzer
 
Registriert seit: 14.08.2008
Beiträge: 41
PHP-Kenntnisse:
Anfänger
hummer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
@ChrisB auch nach durcharbeiten deines Links bleibt der Fehler der Selbe.
Glaube ich irgendwie nicht. Was gibt dir denn mysql_error() aus?
hummer 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
PHP5/MySQL Fehler: Can't connect to database: mysql system error: 111 bobbeline Datenbanken 14 06.03.2011 23:44
[Erledigt] Fehler beim eintragen in MySQL (PHP Formular)... Bend0r PHP Einsteiger 8 22.12.2010 14:06
Mysql Fehler nur in der offline Datenbank doggo Datenbanken 1 31.08.2010 19:59
SQL Abfrage Fehler nach Umstieg von MySQL4 auf MySQL 5 chefmaik PHP Tipps 2010 5 05.08.2010 16:02
Mysql fehler bei externen Zugriff SteiniKeule Datenbanken 4 18.06.2010 12:54
MySQL: Fehler 10046 keine Datenbank ausgewählt aschunk Datenbanken 5 22.04.2010 12:27
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
MySQL - Fehler in einfacher Abfrage oden Datenbanken 11 03.01.2009 20:03
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
mysql + confixx fehler - mysql geht plötzlich nicht mehr Datenbanken 2 31.12.2006 11:41
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
Fehler beim Wechsel von MySQL 4 nach 5 JK Datenbanken 2 09.12.2005 18:43
[Erledigt] Mysql Fehler Datenbanken 3 04.09.2005 16:58
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in c:\\xampp\\htdocs\\seite\\search.php on line 59, mysql fehler, mysql code deine suche ergab 0 treffer, mysql_fetch_object bool(false), ergab mysql_query ein result

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:32 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