| 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! Post your PHP questions here! |
 |

10-08-2009, 21:30
|
|
francosdad
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 80
|
|
[gelöst] mysql php Fehler auf WebServer / Lokal kein Problem
Hallo,
ich habe ein sehr delikates Problem was mit zum Verzweifeln treibt.
Ich habe einen Onlineshop welcher auf XT-Commerce basiert und entwickle das System aber lokal.
Vergangene Woche sind wir von einem V-Server auf einen größeren umgezogen, mit dem Resultat, dass bei der Produktsuche jetzt eine mysql Fehlermeldung kommt:
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 '2,79,80,137) AND pd.language_id = '2' ' at line 15
SELECT DISTINCT
p.products_id,
pd.products_name,
pd.products_short_description,
p.products_price,
p.products_tax_class_id,
p.products_shippingtime,
p.products_image,
p.products_vpe_status,
p.products_vpe_value,
p.products_vpe,
p.products_fsk18
FROM
products p,
products_description pd,
products_to_categories p2c
WHERE
p.products_status = '1'
AND p.products_id = pd.products_id
AND p2c.products_id = p.products_id
AND p2c.categories_id IN (,2,79,80,137)
AND pd.language_id = '2'
ORDER BY RAND()LIMIT 4
[XT SQL Error]
Auf dem alten Server funktionierte es ohne diese Meldung.
Ich habe jetzt lokal den Server repliziert und sogar exakt die selbe mysql-Datenbank installiert (5.0.67), aber lokal geht es.
Das ganze habe ich auf unseren verschiedenen Büroservern probiert und überall geht es. Nur eben nicht auf dem WebServer.
Es sind exakt die gleichen Daten, sowie auf dem Server als auch in der Datenbank.
Wie kann so etwas passieren, kann ein Apache-WebServer beispielsweise Nullen unterschlagen? Denn dieser Teil: p2c.categories_id IN (,2,79,80,137) sollte so aussehen: p2c.categories_id IN (0,2,79,80,137).
Bin für jede Idee dankbar, denn ich habe keine Lust den Server neu aufzusetzen.
Grüsse
Michael
Geändert von francosdad (11-08-2009 um 13:33 Uhr)
Grund: gelöst
|

10-08-2009, 22:11
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von francosdad
Code:
AND p2c.categories_id IN (,2,79,80,137)
|
Na das erste Komma da vor dem ersten Wert schaut schon ein bisschen so aus, als ob es sich dort fehl am Platze fühlen würde ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

10-08-2009, 22:43
|
|
francosdad
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 80
|
|
Ja. das weiss ich, der Grund des Fehlers ist bekannt, jedoch nicht reproduzierbar!
D.h. eigentlich dürfte der Fehler nicht auftreten, da vor dem komma eine Null stehen sollte; was sie lokal und auf meinen Testservern auch macht, nur eben auf dem WebServer nicht.
Nochmal zur Betonung, die Daten unter denen getestet wurde sind 100% identisch; keine Unterschiede! was die Sache ja eben auch zum Problem macht!
Ich frage mich wie der Fehler auftreten kann, obwohl wir nur mit dem Server umgezogen sind. mysqldump und Daten direkt von einem auf den anderen Server kopiert.
Grüsse
Michael
|

10-08-2009, 23:05
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Die categories_id ist doch sicherlich auto_increment, oder?
Also kann sie nie 0 werden.
Wo kommt sie denn überhaupt her deine 0?
Untersuche das.
|

11-08-2009, 00:03
|
|
francosdad
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 80
|
|
Das ist auch richtig, habe gerade nochmal nachgesehen. Ist 1.
Aber die Problematik ist, das exakt die gleiche Datei mit exakt der selben Datenbank auf dem WebServer diesen Fehler meldet, lokal aber eben nicht!
Also, wenn ein Fehler in der Programmierung vorliegt, dann sollte der ja auch auf den lokalen Systemen falsch sein und nicht nur auf dem Server, oder?
Ich denke das der Fehler irgendwo in vielleicht einer defekten Apache Installation liegt oder so; wobei ich mir das auch nicht vorstellen kann.
Den Fehler zu suchen hat mich schon ewig Zeit gekostet, aber ich kann den Fehler nicht finden, da es lokal und auf allen anderen Testsystemen funktioniert!
Deswegen habe ich ja meine Probleme, wenn der Fehler auch lokal (übrigens selbe Konfiguration wie WebServer -> Apache2 WebServer; kein Xampp oder ähnliches) auftreten würde, dann wärs ja leicht, aber wie suchst du einen Fehler den es eigentlich nicht gibt?
Grüsse Michael
|

11-08-2009, 00:22
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Hast du das error_reporting auf E_ALL und display_errors auf on stehen?
Und wie sieht die Stelle aus, an der die fragliche Query generiert wird?
Was haben deine Testausgaben der dort verwendeten Variablen ergeben?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

11-08-2009, 13:33
|
|
francosdad
Registrierter Benutzer
|
|
Registriert seit: Mar 2009
Beiträge: 80
|
|
Hat sich erledigt, aus irgendeinem unerklärlichen Grund greift der Shop an dieser Stelle auf eine falsche Templatedatei zu und dadurch möchte er sich an dieser Stelle einen Kategoriebaum erstellen, obwohl das gar nicht vorgesehen ist.
Trotzdem Danke für die Hilfe.
Gruss
Michael
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| 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.
HTML-Code ist aus.
|
|
|
|
PHP News
|