php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-03-2005, 14:57
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehlermeldung ???

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

OffTopic:
So jetzt besser?

Geändert von oschleicher (02-03-2005 um 15:45 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02-03-2005, 15:00
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bitte lesen http://www.php-resource.de/forum/sho...threadid=50454 und umsetzen, achte dabei besonders auf:

- den Srollbalken
- Zeilenangaben im Code
Mit Zitat antworten
  #3 (permalink)  
Alt 02-03-2005, 15:53
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

lass dir die $query vor dem ausführen erstmal ausgeben.
Mit Zitat antworten
  #4 (permalink)  
Alt 02-03-2005, 16:00
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
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:

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

Oli
Mit Zitat antworten
  #5 (permalink)  
Alt 02-03-2005, 16:05
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
SELECT kunden.kdnrkunden.namekunden.plzkunden.ortrechnungen.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 030 
warum fragst du noch?

was verstehst du an den warnings nicht?
Mit Zitat antworten
  #6 (permalink)  
Alt 03-03-2005, 08:52
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich verstehe zum einen an den warnings 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. Nachdem diese an die Funktion übergeben wurden fehlen zum einen welche -> 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
Mit Zitat antworten
  #7 (permalink)  
Alt 03-03-2005, 09:09
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

  • du hast in deiner Abfrage:
    rechnungen.rg_dat >= '$beginnJahr-$beginnMonat-$beginnTag'
    aber tatsächlich sieht so aus:
    rechnungen.rg_dat >= '-1109545200-1107212400'
    d.h. $beginnJahr ist leer
  • wie hast du die Variablen $begin... und $end... berechnet/definiert/ermittelt?
  • die Var. $end... fehlen komplett oder sind leer
Mit Zitat antworten
  #8 (permalink)  
Alt 03-03-2005, 09:19
marc75
 PHP Senior
Links : Onlinestatus : marc75 ist offline
Registriert seit: Jul 2003
Ort: daheim
Beiträge: 1.366
marc75 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

bei der Variablenübergabe mal die Gross/Kleinschreibung kontrolliert, eventuell liegt der Hase dort begraben.

wenn folgende Meldung kommt:

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

fehlt auf alle Fälle ein Argument. php gibt das nicht zum Spass aus.
__________________
mfg
marc75

<Platz für anderes>
Mit Zitat antworten
  #9 (permalink)  
Alt 03-03-2005, 09:24
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

also die Variablen werden folgendermaßen übernommen (die Inhalte werden über ein Formular auf der vorhergehenden Seite eingegeben):

PHP-Code:
//Variablenübernahme aus Formular
$beginnTag $HTTP_POST_VARS["beginnTag"]; //belegt mit 1
$beginnMonat $HTTP_POST_VARS["beginnMonat"]; //belegt mit 2
$beginnJahr $HTTP_POST_VARS["beginnJahr"];//belegt mit 2005

$endTag $HTTP_POST_VARS["endTag"]; //belegt mit 28
$endMonat $HTTP_POST_VARS["endMonat"]; //belegt mit 2
$endJahr $HTTP_POST_VARS["endJahr"]; //belegt mit 2005 
Danach lasse ich sie mal ausgeben und das funktioniert wie man an dieser Ausgabe sieht:

Zitat:
1 2 2005 28 2 2005 1107212400 1109545200
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
Gruß

Oli
Mit Zitat antworten
  #10 (permalink)  
Alt 03-03-2005, 09:27
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

soweit verstehe ich die Fehlermeldung ja, dass was fehlt. Aber an der Schreibweise finde ich auch keinen Fehler.

Gruß

Oli
Mit Zitat antworten
  #11 (permalink)  
Alt 03-03-2005, 09:34
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Danach lasse ich sie mal ausgeben und das funktioniert wie man an dieser Ausgabe sieht:

1 2 2005 28 2 2005 1107212400 1109545200 ?
Wie gibst du sie aus? was sollen denn die (rot markierten) Zahlen? Zeige mal Code von Auslesen der POST-Var bit zu Funktionsaufruf.
Mit Zitat antworten
  #12 (permalink)  
Alt 03-03-2005, 09:45
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

die rot makierten Zahlen sind 2 weitere Variablen, die ich habe ausgeben lassen. Spielen allerdings keine Rolle für dieses Problem. Hier das komplette Skript:

PHP-Code:
<?php
define
('FPDF_FONTPATH''font/');

include 
'db_verbindung.php'//Stellt die DB-Verbindung her
require ('PDF_MySQL_Table.php');
require (
'fpdf.php'); //zur PDF-Erstellung

//Variablenübernahme aus Formular
$beginnTag $HTTP_POST_VARS["beginnTag"];
$beginnMonat $HTTP_POST_VARS["beginnMonat"];
$beginnJahr $HTTP_POST_VARS["beginnJahr"];

$endTag $HTTP_POST_VARS["endTag"];
$endMonat $HTTP_POST_VARS["endMonat"];
$endJahr $HTTP_POST_VARS["endJahr"];

echo 
"$beginnTag\n";
echo 
"$beginnMonat\n";
echo 
"$beginnJahr\n";
echo 
"$endTag\n";
echo 
"$endMonat\n";
echo 
"$endJahr\n";

//Datumsbereich -> TimeStamps erstellen
//$range = holeDatumsBereich($beginnTag, $beginnMonat, $beginnJahr, $endTag, $endMonat, $endJahr);
$start mktime (000$beginnMonat$beginnTag$beginnJahr);
$ende mktime (000$endMonat$endTag$endJahr);

echo 
"$start\n";
echo 
"$ende\n";

//Class PDF
class PDF extends PDF_MySQL_Table {
    function 
Header() {
        
//Title
        
$this->SetFont('Arial'''18);
        
$this->Cell(06'Tabellenausgabe als PDF'01'C');
        
$this->Ln(10);
        
//Ensure table header is output
        
parent :: Header();
    }
}

define('FPDF_FONTPATH''/font/');

//Erzeugung eins PDF-Dokumentes
$pdf = new PDF_MySQL_Table();
$pdf->Open();
$pdf->AddPage();
//First table: put all columns automatically
//$sql = "SELECT * FROM kunden ORDER BY kdnr";
$pdf->Table(holeStatistik($beginnTag$beginnMonat$beginnJahr$endTag$endMonat$endJahr));
$pdf->Output();
?>
Wie Du siehst gebe ich die Variablen mit echo $beginnTag beispielsweise aus.

Gruß

oli
Mit Zitat antworten
  #13 (permalink)  
Alt 03-03-2005, 11:40
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Leute,

habe das mit der Übergabe der Variablen an eine Funktion, die die SQL-Abfrage absetzt, erst mal auf Eis gesetzt und gebe die Abfrage direkt ein und mal ohne Variable sondern mit festen Werten. Jedoch bekomme ich keine Daten zurückgeliefert, obwohl die Abfrage im phpMyAdmin einwandfrei funktioniert und theoretisch 14 Datensätze ausgegeben werden müßten. Soviele Rechnungen sind jedenfalls in angegebenen Zeitraum vorhanden. Weiß jemand vielleicht wieso keine Daten ausgegeben werden?

PHP-Code:
$pdf->Table("SELECT 
   kunden.kdnr, kunden.name, kunden.plz, kunden.ort 
FROM 
   kunden 
INNER JOIN 
   rechnungen ON kunden.kdnr = rechnungen.kdnr 
WHERE 
   rechnungen.rg_dat >= '2005-2-1' AND rechnungen.rg_dat <= '2005-2-1'"
); 
Mit Zitat antworten
  #14 (permalink)  
Alt 03-03-2005, 11:47
marc75
 PHP Senior
Links : Onlinestatus : marc75 ist offline
Registriert seit: Jul 2003
Ort: daheim
Beiträge: 1.366
marc75 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
rechnungen.rg_dat >= '2005-2-1' AND rechnungen.rg_dat <= '2005-2-1'"); 
steht denn das Datum 2005-2-1 so auch bei dir in der DB?
__________________
mfg
marc75

<Platz für anderes>
Mit Zitat antworten
  #15 (permalink)  
Alt 03-03-2005, 12:09
oschleicher
 Newbie
Links : Onlinestatus : oschleicher ist offline
Registriert seit: Jun 2002
Ort: Heidelberg
Beiträge: 14
oschleicher ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ist als Date in der MySQL-DB formatiert und das steht so dann drin.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

Projektmanagement Damals und Heute
Projektmanagement Damals und HeuteWerfen Sie einen Blick auf das, was sich verändert hat, und entdecken Sie, wo die Zukunft dieses Gebietes hinsteuert.

18.01.2021 | Berni

Arbeitsmanagement-Tools
Arbeitsmanagement-ToolsWarum jedes Team Arbeitsmanagement-Tools benötigt. Man schätzt, dass 25% eines durchschnittlichen Mitarbeiter-Tages durch ineffiziente Arbeit vergeudet werden.

11.12.2020 | Berni


 

Aktuelle PHP Scripte

PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

29.04.2021 mirko_swm | Kategorie: PHP/ Mail
OXID eShop

Mit OXID eshop bieten wir Ihnen eine modulare und skalierbare Internet Shopping Software mit einem hervorragenden Preis-/Leistungsverhältnis.

29.04.2021 eric.jankowfsky@ | Kategorie: PHP/ Shops
PHP-Login

Die Aufgabenstellung bestand darin, ein einfaches Login-Script zu erstellen, dass schnell und universell auf jeder Webseiten eingebaut werden kann. Der Schwerpunkt lag dabei auf der Entwicklung eines universell einsetzbarem Modul für den Login und zur

05.04.2021 Wallhalla | Kategorie: PHP/ Kundenverwaltung
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:36 Uhr.