php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2005, 15:43  
Gast
 
Beiträge: n/a
Standard Fehlermeldung - missing argument

Hallo Leute,

habe folgende Funktion, die aus einem HTML-Formular die Datumsinformation erhält ($beginnTag etc) und dann eine
SQL-Arfrage absetzt. Mit den Daten soll dann ein PDF erstellt werden.
Jedoch wird die Abfrage anscheinend nicht abgesetzt.

register_globals ist ON
PHP Version 4.3.10

PHP-Code:
function holeStatistik ($beginnTag$beginnMonat$beginnJahr,
$endTag$endMonat$endJahr//Zeile #22
{
global 
$connection;

$query  "SELECT kunden.kdnr, kunden.name, kunden.plz, kunden.ort, rechnungen.rg_nr"
            
" FROM kunden"
            
" LEFT JOIN rechnungen ON kunden.kdnr = rechnungen.kdnr WHERE"
            
" rechnungen.rg_dat >= '$beginnJahr-$beginnMonat-$beginnTag' AND 
rechnungen.rg_dat <= '$endJahr-$endMonat-$endTag'"
            
" GROUP BY kunden.kdnr"
            
" ORDER BY kunden.kdnr DESC LIMIT 0, 30";
    
$ergebnis mysql_query($query$connection);
    if ( ! 
$ergebnis )
        die ( 
"fatal error: ".mysql_error());
    
$ret = array();
    while ( 
$row =mysql_fetch_array$ergebnis )) //liefert Datensatz als assoziatives Array
        
array_push$ret$row); //array $ret wird um $row erhöht
    
return $ret;

Wenn ich diese nun ausführe bekomme ich folgende Fehlermeldung:

Warning: Missing argument 3 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 4 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 5 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 6 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22
Error: 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 'Array' at line 1
Query: Array

Jetzt weiß allerdings nicht mehr weiter, was da falsch läuft. Könnte mir da jemand helfen?
Vielen Dank schon im Voraus.

Gruß

Oli
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.03.2005, 15:47  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

da läuft viel falsch, irgendwie übergibst du dem query anstatt nem string ein query, bitte mal mit
echo $query arbeiten und das ganze posten
2. wo ist dein aufruf der funktion? die fehlermeldung ist ja eigentlich sehr klar, in der heist es, dass die funktion ohne paramter aufgerufen ist.
definiert ist sie so:

function holeStatistik ($beginnTag, $beginnMonat, $beginnJahr, $endTag, $endMonat, $endJahr)

aufgerufen wird sie wohl so:

holeStatistik ($beginnTag, $beginnMonat )

anstatt mit allen argumenten.

mfg
robo47
robo47 ist offline  
Alt 02.03.2005, 15:51  
Erfahrener Benutzer
 
Registriert seit: 10.09.2004
Beiträge: 339
mkl0815
Standard

hallo,

ich würde zunächst mal die fehlermeldungen interpretieren :
Warning: Missing argument 3 for holestatistik()
bedeutet, das ein drittes Argument, welches an die Funktion übergeben werden sollte nicht übergeben wird. das gleiche gilt für die folgenden "missing"-meldungen. damit liegt der fehler nicht in der zeile 22 sondern in der zeile deines scriptes, welches die funktion aufruft. dort werden wahrscheinlich nicht alle parameter an die funktion übergeben. der sql-fehler ist wahrscheinlich ein folgefehler durch die fehlenden parameter. wenn die ersten fehler (warnungen) behoben sind, sollte sich das evtl. klären.

mario.

p.s. poste doch mal die stelle an der du die funktion aufrufst.
__________________
Problems with Windows : REBOOT
Problems with Linux : BE ROOT
mkl0815 ist offline  
Alt 02.03.2005, 15:52  
Erfahrener Benutzer
 
Registriert seit: 10.09.2004
Beiträge: 339
mkl0815
Standard

... hmm ... zu langsam ...
__________________
Problems with Windows : REBOOT
Problems with Linux : BE ROOT
mkl0815 ist offline  
Alt 02.03.2005, 15:56  
Gast
 
Beiträge: n/a
Standard

Hallo,

habe jetzt echo $query eingebaut. Nun kommt folgende Fehlermeldung:

Zitat:
Warning: Missing argument 3 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 4 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 5 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22

Warning: Missing argument 6 for holestatistik() in /opt/lampp/htdocs/test/db_verbindung.php on line 22
SELECT kunden.kdnr, kunden.name, kunden.plz, kunden.ort, rechnungen.rg_nr FROM kunden LEFT JOIN rechnungen ON kunden.kdnr = rechnungen.kdnr WHERE rechnungen.rg_dat >= '-1109545200-1107212400' AND rechnungen.rg_dat <= '--' GROUP BY kunden.kdnr ORDER BY kunden.kdnr DESC LIMIT 0, 30Error: 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 'Array' at line 1
Query: Array
Aufgerufen wird die Funktion folgendermaßen:

Code:
$pdf->Table(holeStatistik($beginnTag, $beginnMonat, $beginnJahr, $endTag, $endMonat, $endJahr));
Gruß

Oli
 
Alt 02.03.2005, 16:05  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

als erstes solltest du anfangen querys dieser gräße einzurücken. und das nicht nur im quellxode.


PHP-Code:
<?php
$query  
"
SELECT
    kunden.kdnr, kunden.name, kunden.plz, kunden.ort, rechnungen.rg_nr
FROM 
    kunden LEFT JOIN rechnungen 
ON 
    kunden.kdnr = rechnungen.kdnr
WHERE
    rechnungen.rg_dat >= '$beginnJahr-$beginnMonat-$beginnTag' AND
    rechnungen.rg_dat <= '$endJahr-$endMonat-$endTag'
GROUP BY 
    kunden.kdnr
ORDER BY 
    kunden.kdnr DESC 
LIMIT 0, 30"

?>

dann schau dir das query an, was übergibst du der funktion? für mich sith das aus wie timestampts, erwartet werden aber wohl konkrete zahlen, sprich zahlen wie der tag der monat oder das jahr.

ist das alles selbst geschrieben? oder setzt du auf was auf?

mfg
robo47
robo47 ist offline  
Alt 03.03.2005, 08:57  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
als erstes solltest du anfangen querys dieser gräße einzurücken. und das nicht nur im quellxode.


PHP-Code:
<?php
$query  
"
SELECT
    kunden.kdnr, kunden.name, kunden.plz, kunden.ort, rechnungen.rg_nr
FROM 
    kunden LEFT JOIN rechnungen 
ON 
    kunden.kdnr = rechnungen.kdnr
WHERE
    rechnungen.rg_dat >= '$beginnJahr-$beginnMonat-$beginnTag' AND
    rechnungen.rg_dat <= '$endJahr-$endMonat-$endTag'
GROUP BY 
    kunden.kdnr
ORDER BY 
    kunden.kdnr DESC 
LIMIT 0, 30"

?>

dann schau dir das query an, was übergibst du der funktion? für mich sith das aus wie timestampts, erwartet werden aber wohl konkrete zahlen, sprich zahlen wie der tag der monat oder das jahr.

ist das alles selbst geschrieben? oder setzt du auf was auf?

mfg
robo47
Hallo,

ok das mit dem Einrücken werde ich beherzigen.

Ich verstehe nicht wieso nicht alle Argumente übergeben werden? Habe mir die entsprechenden Variablen vor der Übergabe ausgeben lassen und zu diesem Zeitpunkt waren es noch die richtigen Inhalte (und alle 6 vorhanden!!!). Nachdem diese an die Funktion übergeben wurden fehlen zum einen welche (laut Fehlermeldung) -> wieso? Verstehe ich nicht, da ja alle übergeben werden:

PHP-Code:
$pdf->Table(holeStatistik($beginnTag$beginnMonat$beginnJahr$endTag$endMonat$endJahr)); 
Als zweites verstehe ich nicht wieso aus dem normalen Werten auf einmal zu Timestamps werden - so sieht es für mich zumondest aus.

Zitat:
SELECT kunden.kdnr, kunden.name, kunden.plz, kunden.ort, rechnungen.rg_nr FROM kunden LEFT JOIN rechnungen ON kunden.kdnr = rechnungen.kdnr WHERE rechnungen.rg_dat >= '-1109545200-1107212400' AND rechnungen.rg_dat <= '--' GROUP BY kunden.kdnr ORDER BY kunden.kdnr DESC LIMIT 0, 30
Sorry, wegen den evtl. dummen Fragen, aber ich bin eben noch ein Anfänger.
Vielen Dank schon im Voraus für die Mühren.

Gruß

Oli
 
Alt 03.03.2005, 09:21  
Gast
 
Beiträge: n/a
Standard Re: Fehlermeldung - missing argument

Zitat:
Zitat von oschleicher
register_globals ist ON
Ganz schlecht!!!
PHP-Code:
$pdf->Table(holeStatistik($beginnTag$beginnMonat$beginnJahr$endTag$endMonat$endJahr)); 
Wenn man Probleme mit einem Script hat, sind solche Verschachtelungen sehr unglücklich.

Hast du mal direkt vor dem Aufruf der Funktion alle Variablen geprüft. Am besten mit einem Debugger das Script mal durchsteppen.

Gruß
phpfan
 
 


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
[Erledigt] PHP -&gt; Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Fehlermeldung umbenennen Soese PHP Tipps 2007 3 13.03.2007 13:33
script läuft und funktioniert gibt aber fehlermeldung aus? Promaetheus PHP Tipps 2006 5 12.09.2006 23:42
[Erledigt] Fehlermeldung: Warning: mysql_select_db(): supplied.... Datenbanken 4 27.12.2005 17:19
Fehlermeldung Datenbanken 6 23.10.2005 12:37
Fehlermeldung PHP Tipps 2005-2 2 04.09.2005 04:04
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Ich will Fehlermeldung vermeiden. Zero.exe PHP Tipps 2005-2 2 02.08.2005 13:11
Klasse - Missing Argument in Funktionsdeklaration? Chr!s PHP Tipps 2005-2 5 24.07.2005 16:10
Fehlermeldung Missing argument 1 und 2 seven-12 PHP Tipps 2005-2 3 23.06.2005 16:05
ShowIt_V1.8.14 PHP Tipps 2005 1 23.03.2005 19:13
frage zum arbeiten mit dateien PHP Tipps 2005 21 01.03.2005 13:22
Fehlermeldung: failed to open stream: Invalid argument in . Helmuth74 PHP Tipps 2005 4 17.01.2005 13:55
Script bei Strato mit Fehlermeldung, bei Netbeat ok PHP Tipps 2004-2 14 08.12.2004 11:08
bekomme fehlermeldung! warum? PHP Tipps 2004-2 10 30.11.2004 11:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
missing argument 5 for grafik::, warning: missing argument 4 for, missing argument 5, lampp left join, missing argument 4 for, php missing argument warning, missing argument 5 for, \syntax to use near \'array\' at line\, php missing argument, php fehlermeldung missing argument 3 for, php missing argument obwohl übergeben, missing argument 6 php, php funktion \missing argument 5\, missing argument 3 for, warning: missing argument 1 php fehler, ajax missing argument 4, missing argument 6 for

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