AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [SQL] Abfrage liefert "supplied argument is not a valid..."
Thema durchsuchen
Ansicht
Themen-Optionen

[SQL] Abfrage liefert "supplied argument is not a valid..."

Ein Thema von flomei · begonnen am 6. Jan 2005 · letzter Beitrag vom 12. Jan 2005
Antwort Antwort
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#1

[SQL] Abfrage liefert "supplied argument is not a valid

  Alt 6. Jan 2005, 00:32
Hallo!

Ich möchte mit PHP und mySQL ne Geburtstagsanzeige schreiben...
Diese Geburtstagsanzeige soll später alle Datenbankeinträge (bzw. Teile davon) ausgeben die in den nächsten 14 Tagen (mal als Beispiel) stattfinden.
Nun teste ich hier so ein bisschen mit rum und für den aktuellen Monat ging auch prima aber jetzt hab ich hier ne üble Konstruktion.
Sollte eigentlich noch nicht stattgefundene Geburtstage in den nächsten 14 Tagen des Monats ausgeben gibt mir aber nur ne Fehlermeldung:
Code:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in ... on line 9
Tja, mein Query sieht momentan so aus:
SELECT usr_name, usr_vorname, usr_birthday FROM abi2006_users WHERE( (MONTH(CURDATE()) = MONTH(usr_birthday)) and (DAY(usr_birthday) >= DAY(CURDATE())) and (DATEDIFF(CURDATE(), usr_birthday) <= 14)) Wenn da zuviele Klammern sind dann kommt das davon das ich gerade rumprobiert habe aber nix gebacken bekommen habe...

Was ich mir wünsche ist nen Query das mir die Datensätze holt mit den Leuten die in den nächsten 14 Tagen Geburtstag haben. Auch wenn das schon im nächsten Monat ist...

Ich komm da echt nich mehr weiter...

Wenn mir da irgendwer helfen kann, dann kriegt er nen Keks...

Tausend Dank im Vorraus!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 6. Jan 2005, 02:26
Deine Klammern sind schon sehr gewöhnungsbedürftig.

Wie wäre es damit, das Problem auf den Kern zu reduzieren ?

SELECT usr_name, usr_vorname, usr_birthday FROM abi2006_users WHERE((DATEDIFF(CURDATE(), usr_birthday) <= 14)) Wegen der Klammern und MySql nicht getestet !
Gruß
Hansa
  Mit Zitat antworten Zitat
DennyC

Registriert seit: 27. Jan 2003
Ort: Berlin
47 Beiträge
 
Delphi 7 Professional
 
#3

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 6. Jan 2005, 05:44
Mit dem Ergebnis der Abfrage stimmt etwas grundsätzliches nicht. Daher würden wohl all Deine Zeilen unmittelbar vor mysql_fetch_object schon sehr interessant sein (Verbindung zur DB, SQL-Abfrage, usw.) Grundsätzlich empfiehlt sich vor mysql_fetch_object eine Überprüfung, ob Dein Query ein brauchbares Ergebnis lieferte, bevor Du weitermachst.

Denny
Mein Leben in HTML
http://www.devblog.de > Delphi Blog
http://www.evius.de > Job
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#4

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 6. Jan 2005, 15:32
@Hansa: Ich steh auf Klammern. Manchmal helfen die echt beim Verständnis (aber auch nur manchmal... *g*). Deine Abfrage werde ich nachher mal testen ich muss jetzt erst kurz weg.

@DennyC: Wie kann ich denn vernünftig und sinnvoll überprüfen ob ich nen ordentliches Ergebnis erhalten habe? Hier ist auch nochmal die ganze Datei:
Code:
<?php
   include('includes/db_connect.php');
   include('includes/functions.php');
   
   $query   =    'SELECT usr_name, usr_vorname, usr_birthday FROM abi2006_users WHERE MONTH(CURDATE()) = MONTH(usr_birthday) and DAY(usr_birthday) >= DAY(CURDATE()) and DATEDIFF(CURDATE(), usr_birthday) <= 14';         
   
   $result   =   mysql_query($query);
   
   while($row = mysql_fetch_object($result))
   {
      echo($row->usr_vorname.' '.$row->usr_name.' wird am '.str_replace('0','',substr(date_mysql2german($row->usr_birthday),0,6)).' '.(date("Y") - $row->usr_birthday).' Jahre alt!
');
   }
   
   mysql_close($db);
?>
Is also nich viel mehr...

MfG Florian

EDIT: Ich wollte Hansa´s Query mal direkt ausführen und da erhielt ich folgende Fehlermeldung:
Code:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(CURDATE(), usr_birthday) <= 14)) LIMIT 0, 30' at line 1
Geht also auch nicht. Ich glaube fast das es am DATEDIFF liegt, weiss aber auch nicht wie ich das umgehen kann...
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#5

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 7. Jan 2005, 23:00
büdde helfen... *liebguck*

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#6

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 11. Jan 2005, 23:56
Habe das hier auch mal ausprobiert:
SELECT name, vorname, birthday FROM abi2006_users WHERE DATEDIFF(DAYOFYEAR(CURDATE()), DAYOFYEAR(usr_birthday)) <= 14) Geht auch nich...
So schwer kann das doch gar nicht sein, oder? Ich weiss langsam echt nicht mehr wo das Problem wohl liegt...

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#7

Re: [SQL] Abfrage liefert "supplied argument is not a v

  Alt 12. Jan 2005, 23:47
YEAH YEAH YEAH!

Folgendes hab ich jetzt und das funktioniert auch! *freu*

SELECT name, vorname, geburtstag FROM abi2006_users WHERE DAYOFYEAR( geburtstag ) BETWEEN DAYOFYEAR( CURDATE( ) ) AND DAYOFYEAR( CURDATE( ) ) + 14 (die seltsame Formatierung hat PHPmyAdmin selbst gemacht...)

Boah, wieder was geschafft...

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Antwort Antwort


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz