Internet, Grafik, Marketing - Die Netztaucher aus Angermünde in der Uckermark

XTC Probleme String Typecasting Bookmark and Share

Sonntag, 16.01.2005 um 18:08 · Gelesen: 2252 · heute: 3

Nach einem Upgrade von PHP 4.3.8 auf 4.3.10 tritt beim Betrieb des Shopsystems XT Commerce ein Fehler bei Berechnungen auf. Das Problem ist eine Verbesserung einer PHP-Funktion.

Einer unserer Hostingkunden hat bereits einen Patch für das Problem des Abschneidens der Nachkommastellen entwickelt welches wir allen anderen Kunden gern zur Verfügung stellen.



inc/xtc_db_perform.inc.php macht ein implizites typecasting per (string)$value bislang und auch auf meinem lokalen XAMPP mit PHP 4.3.7 wird aus einem Zahlenwert float 24,9 ein String “24.9”.

Jetzt arbeitet die PHP Funktion besser: aus float 24,9 wird string 24,9. Aber mit fatalen Folgen für MySQL. Das erwartet nämlich beim Schreiben in ein “decimal (15,4) ” also mit 4 Nachkommastellen – ein ”.”, nicht ein ”,”. Also ist die Ursache das Typecasting per (string)$value.

Update

Mit der Veröffentlichung der Version 3.03 ist ein weiterer Fehler im Zusammenhang mit der aktuellen PHP-Version 4.3.10 aufgefallen.Es liegt nun der aktuelle Patch mit PHP Versionsabfrage und SQL-Update vor.

Hilfe vom Profi: Hosting, Reseller, Server

Schlagwörter: Hosting


Weitere Artikel zum Thema

  • Probleme bei der Darstellung
  • xt:commerce Probleme mit PayPal
  • Eigenes Format für Apache-Logfiles
  • Probleme beim Versand der Internettips
  • WordPress Pingservice



  • Twitter Logo S Wenn du diesen Beitrag twitterst, verwende die URL http://tinyurl.com/dzjpve. Aktuell haben das 0 Twitterer getan.


    Ihre Meinung zählt!

    2 Kommentare zu “XTC Probleme String Typecasting”

    1. Christoph Schram
      Montag, 10.01.2005 10:24
      1

      Bei welcher XTC Version tritt dieses Problem auf?

      Habe es gerade mit der Version v2.0 RC1.2 eine Bestellung getestet und hat einwandfrei funktioniert.



      Danke

      Christoph

    2. Bastler
      Samstag, 24.10.2009 13:31
      2

      Super, und bis heute steht der Unsinn noch im Quellcode:

      ... wird aus einem Zahlenwert float 24,9 ein String “24.9”. ...
      Völlig richtig, denn 24,9 ist kein Zahlenwert vom Typ float (der hat nun mal kein Komma sondern einen Punkt). Wenn PHP aus einem String einen String macht, ist das schon korrekt.

    « Gaby Schulze: Schriftsteine in der Uckermark      Hostingpaket für Shopsystem XT-Commerce »