Fatal Error beim Aufruf eines Artikels

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Fatal Error beim Aufruf eines Artikels

Beitrag von päde »

Hallo r23



Ich bin dabei den bestehenden Webshop auf einen neuen Server zu zügeln.

Dabei verwende ich neu folgendes:

- Windows 2008 Web Edition

- PHP 5.3.0

- MySQL 5.1.37



Problem:

Die Startseite lässt sich problemlos aufrufen. Wähle ich nun eine Kategorie an, dann erscheinen mir sämtliche Artikel. Soweit, sogut......

Wenn ich nun jedoch einen Artikel auswähle, dann erscheint mir folgende Fehlermeldung:



Fatal error: Call to a member function RecordCount() on a non-object in C:\inetpub\wwwroot\webshop\shop\includes\modules\slavery_listing.php on line 33



Die Zeile 33 von slavery_listing.php (rot markiert):

$define_list = array('PRODUCT_LIST_MODEL' => SLAVE_LIST_MODEL,
'PRODUCT_LIST_NAME' => SLAVE_LIST_NAME,
'PRODUCT_LIST_MANUFACTURER' => SLAVE_LIST_MANUFACTURER,
'PRODUCT_LIST_PRICE' => SLAVE_LIST_PRICE,
'PRODUCT_LIST_QUANTITY' => SLAVE_LIST_QUANTITY,
'PRODUCT_LIST_WEIGHT' => SLAVE_LIST_WEIGHT,
'PRODUCT_LIST_IMAGE' => SLAVE_LIST_IMAGE,
'PRODUCT_SLAVE_BUY_NOW' => SLAVE_LIST_BUY_NOW);




Woran könnte das liegen? Habe lediglich die Versionen von MySQL und PHP auf den aktuellsten Stand gebracht, ansonsten ist alles gleich wie beim funktionierenden Server (denke ich zumindest....). Bin langsam am verzweifeln..... ;(



Gruss

Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

die Änderung deiner MySQL Version wird sicherlich zu einem Fehler führen. MySQl wollte mit Version 5.x
sich etwas mehr an den SQL Standard halten und hat etwas geändert.

In der ERROR Log Datei von ADODB wirst du vermutlich einen Eintrag finden. Wenn ja welchen?

cu

ralf
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Und, was steht in deiner Log Datei von ADODB?

:?:
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo r23



Hier die Log-Datei....

Ich hoffe, dass du da etwas herausfinden kannst......

Andernfalls muss ich MySQL downgraden. Falls ja, kannst du mir sagen welche Version du empfehlen würdest?





Habe gesehen, dass nebst dieser Fehlermeldung auch noch andere erscheinen:



Deprecated: Function ereg() is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\oos_define.php on line 73

Deprecated: Assigning the return value of new by reference is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\classes\adodb\adodb.inc.php on line 893

Deprecated: Assigning the return value of new by reference is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\classes\adodb\adodb.inc.php on line 1919

Deprecated: Assigning the return value of new by reference is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\classes\adodb\adodb.inc.php on line 1991

Deprecated: Assigning the return value of new by reference is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\oos_system.php on line 25

Deprecated: Function split() is deprecated in C:\inetpub\wwwroot\webshop\shop\includes\blocks\block_categories.php on line 176

Fatal error: Call to a member function RecordCount() on a non-object in C:\inetpub\wwwroot\webshop\shop\includes\modules\slavery_listing.php on line 33




Gruss

Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

Die SQL - Abfragen über drei Datenbanktabllen müssen in der Version geändert werden.
Suchen nach: LEFT JOIN
~/shop\includes\blocks\block_manufacturer_info.php(30): FROM " . $oosDBTable['manufacturers] . " m LEFT JOIN
~/shop\includes\classes\class_member.php(83): " . $oosDBTable['customers] . " as c LEFT JOIN
~/shop\includes\classes\class_order.php(219): " . $oosDBTable['address_book] . " ab LEFT JOIN
~/shop\includes\classes\class_order.php(221): ON (ab.entry_zone_id = z.zone_id) LEFT JOIN
~/shop\includes\classes\class_order.php(237): " . $oosDBTable['address_book] . " ab LEFT JOIN
~/shop\includes\classes\class_order.php(239): ON (ab.entry_zone_id = z.zone_id) LEFT JOIN
~/shop\includes\classes\class_order.php(254): " . $oosDBTable['address_book] . " ab LEFT JOIN
~/shop\includes\classes\class_order.php(256): ON (ab.entry_zone_id = z.zone_id) LEFT JOIN
~/shop\includes\classes\adodb\docs\tips_portable_sql.htm(120): <pre>SELECT t1.col1, t1.col2, t2.cola <br> FROM t1 <i>LEFT JOIN</i> t2 ON t1.col = t2.col</pre>
~/shop\includes\classes\adodb\drivers\adodb-pdo_pgsql.inc.php(140): // LEFT JOIN would have been much more elegant, but postgres does
~/shop\includes\classes\adodb\drivers\adodb-postgres64.inc.php(492): // LEFT JOIN would have been much more elegant, but postgres does
~/shop\includes\classes\adodb\drivers\adodb-postgres7.inc.php(82): LEFT JOIN pg_description ds ON (ds.objoid = c.oid)
~/shop\includes\functions\function_kernel.php(440): " . $oosDBTable['tax_rates] . " tr LEFT JOIN
~/shop\includes\functions\function_kernel.php(442): ON (tr.tax_zone_id = za.geo_zone_id) LEFT JOIN
~/shop\includes\functions\function_kernel.php(489): " . $oosDBTable['tax_rates] . " tr LEFT JOIN
~/shop\includes\functions\function_kernel.php(491): ON (tr.tax_zone_id = za.geo_zone_id) LEFT JOIN
~/shop\includes\modules\new_products.php(34): " . $oosDBTable['products_description] . " pd LEFT JOIN
~/shop\includes\modules\new_products.php(46): " . $oosDBTable['products_description] . " pd LEFT JOIN
~/shop\includes\modules\slavery_products.php(91): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\modules\slavery_products.php(92): " . $oosDBTable['manufacturers] . " m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
~/shop\includes\pages\account\history.php(33): FROM " . $oosDBTable['orders] . " o LEFT JOIN
~/shop\includes\pages\account\history.php(34): " . $oosDBTable['orders_total] . " ot ON (o.orders_id = ot.orders_id) LEFT JOIN
~/shop\includes\pages\affiliate\clicks.php(44): FROM " . $oosDBTable['affiliate_clickthroughs] . " a LEFT JOIN
~/shop\includes\pages\affiliate\clicks.php(45): " . $oosDBTable['products] . " p ON (p.products_id = a.affiliate_products_id) LEFT JOIN
~/shop\includes\pages\affiliate\sales.php(41): FROM " . $oosDBTable['affiliate_sales] . " a LEFT JOIN
~/shop\includes\pages\affiliate\sales.php(42): " . $oosDBTable['orders] . " o ON (a.affiliate_orders_id = o.orders_id) LEFT JOIN
~/shop\includes\pages\affiliate\summary.php(62): LEFT JOIN " . $oosDBTable['orders] . " o
~/shop\includes\pages\checkout\process.php(141): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\checkout\process.php(142): " . $oosDBTable['products_attributes] . " pa ON p.products_id = pa.products_id LEFT JOIN
~/shop\includes\pages\checkout\process.php(207): " . $oosDBTable['products_attributes] . " pa LEFT JOIN
~/shop\includes\pages\checkout\process.php(219): " . $oosDBTable['products_attributes] . " pa LEFT JOIN
~/shop\includes\pages\main\shop.php(296): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\main\shop.php(315): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\main\shop.php(348): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\main\shop.php(368): " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\main\shop.php(369): " . $oosDBTable['manufacturers] . " m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
~/shop\includes\pages\news\reviews.php(43): FROM " . $oosDBTable['news_description] . " nd LEFT JOIN
~/shop\includes\pages\products\new.php(56): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\products\new.php(57): " . $oosDBTable['manufacturers] . " m ON p.manufacturers_id = m.manufacturers_id LEFT JOIN
~/shop\includes\pages\products\new.php(58): " . $oosDBTable['products_description] . " pd ON p.products_id = pd.products_id AND pd.products_languages_id = '" . intval($nLanguageID) . "' LEFT JOIN
~/shop\includes\pages\products\pdf_info.php(39): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\products\pdf_info.php(41): " . $oosDBTable['products_description] . " pd LEFT JOIN
~/shop\includes\pages\products\popup_image.php(66): FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\reviews\product.php(43): FROM " . $oosDBTable['products_description] . " pd LEFT JOIN
~/shop\includes\pages\search\advanced_result.php(223): $from_str = "FROM " . $oosDBTable['products] . " p LEFT JOIN
~/shop\includes\pages\search\advanced_result.php(224): " . $oosDBTable['manufacturers] . " m using(manufacturers_id) LEFT JOIN
~/shop\includes\pages\search\advanced_result.php(232): $from_str .= " LEFT JOIN
~/shop\includes\pages\search\advanced_result.php(234): ON p.products_tax_class_id = tr.tax_class_id LEFT JOIN
~/shop\includes\pages\search\quickfind.php(40): LEFT JOIN ' .
Es wurden 49 Vorkommen in 23 Datei(en) gefunden.

Am einfachsten Version 1.6.15 downloaden und mit WinMerge http://winmerge.org/ die Unterschiede untersuchen
und die "richtigen" Sachen übernehmen.

zu den PHP Hinweisen
Deprecated: Function ereg()

Die kann man deaktivieren oder im Skript ändern.
Eine Anleitung im Forum 2.1 und im PHP Handbuch
http://www.oos-shop.de/doc/php_manual_d ... dices.html

of new by reference is deprecated in C:~\adodb\adodb.inc.php on line 1991

Adodb in einer aktuellen PHP 5.x Version installieren.
http://adodb.sourceforge.net/

Beste Grüße

Ralf
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo Ralf

Vielen Dank für die wertvollen Tipps.
Werde sie so umsetzen.

Gruss
Päde
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Startseite Adminbereich wird nicht komplett übersetzt

Beitrag von päde »

Hallo Ralf

Habe deinen Input so umgesetzt und fahre nun mit der Version 1.6.16.....
Auf den ersten Blick sieht es so aus als ob nun alles funktioniert. Lediglich die Startseite des Adminbereiches wird nicht komplett übersetzt (siehe Bild). Leider versuche ich seit etwa 2 Stunden vergeblich den Fehler zu finden. Das Einzige was ich herausfinden konnte ist, dass die fehlenden Übersetzungen in der Datei \shop\admin\includes\languages\deu\index.php liegen. Mit WinMerge habe ich jedoch nicht herausfinden können wo der Fehler resp. die Differenz liegt....

Kannst du mir hier vielleicht noch einen Tipp geben?

Besten Dank
Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

hallo,

in ein paar Tagen veröffentlichen wir die 1.6.17. hier solltest du Änderungenn die
~/shop/includes/pages/rewies/produc_info.php
und
~/shop/includes/pages/checkout/susecc.php

in den Shop übernehmen.

Für PHP 5.3 musst du die
~/shop/admin/includes/oos_main.php
vermutlich ändern.

http://svn.berlios.de/viewvc/oos/trunk/ ... 407&r2=320

Bitte bei neuen Fragen ein neues Thema beginnen.

Beste Grüße

ralf
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo Ralf



Ich habe ja nun den Shop Version 1.6.3 auf die Version 1.6.16 angehoben. Dabei muss ich jedoch irgendetwas noch übersehen haben. Und leider finde ich den Fehler nicht selbst...



Wenn ich im Adminbereich einen neuen Artikel aufnehmen will, dann wird dieser nur halbwegs aufgenommen. Das heisst, dass er im Table "products_description" für jede Sprache eine neue Zeile aufnimmt, jedoch komischerweise mit der products_id 0 (und nicht fortlaufende Nummer). Im Table "products" wird gar nichts hinein geschrieben....



Der Artikel wird demzufolge nicht im Shop angezeigt. Wenn ich nun einen weiteren Artikel hinzufügen möchte, dann kommt mir der soeben fehlgeschlagene Artikel erneut (also sozusagen nicht eine neue leere Seite, sondern eine Art "editieren"). Die darin gemachten Änderungen werden nirgends gespeichert....



In welcher Datei könnte der Fehler stecken?



Gruss vom durchstartenden Forenmitglied ;)

Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

mmh... in der 1.6. verwendet der Shop für die Erkenung der Sprachen

Code: Alles auswählen

          $languages = oosGetLanguages();
          for ($i = 0, $n = count($languages); $i < $n; $i++) {
            $lang_id = $languages[$i]['id];
die Funktion oosGetLanguages() befindet sich in
~/shop/admin/includes/functions/function_kernel.php

Version der Datei ist

Code: Alles auswählen

$Id: function_kernel.php,v 1.5 2006/11/19 10:14:55 r23 Exp $
in der Datei
~/shop/admin/produtsc.php Zeile 282
würde ich nach

Code: Alles auswählen

          $languages = oosGetLanguages();
mir den Inhalt von $languages ausgeben lassen.

z.b. mit var_dump
http://www.oos-shop.de/doc/php_manual_d ... -dump.html

oder print_r

Code: Alles auswählen

          $languages = oosGetLanguages();
var_dump($languages);
exit;
Hier sollten die verwendeten Sprachen entahlten sein?

Evtl. gibt es ein Datenbankproblem. Hierbei würde der Shop in die
~/oos_temp/log/adodb_error.log
etwas sinnvolles schreiben.

Grüße

Ralf
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo Ralf

Das Ergebnis aus var_dump sieht so aus....

Code: Alles auswählen

array(3) { 
[0] 
=> array(4) {["id"] 
=> string(1) "1" ["name"] 
=> string(7) "Deutsch" ["iso_639_2"] 
=> string(3) "deu" ["iso_639_1"] 
=> string(2) "de" } 
[1] 
=> array(4) { ["id"] 
=> string(1) "2" ["name"] 
=> string(7) "English" ["iso_639_2"] 
=> string(3) "eng" ["iso_639_1"] 
=> string(2) "en" } 
[2] 
=> array(4) { ["id"] 
=> string(1) "7" ["name"] 
=> string(8) "Français" ["iso_639_2"] 
=> string(3) "fra" ["iso_639_1"] 
=> string(2) "fr" } } 


Etwas komisch dabei fand ich, dass im französischen Abschnitt eine Differenz zwischen den Variablen-Zahlen existiert. Die ersten beiden haben eine 7, französisch hat eine 8. Somit habe ich testhalber einmal die französische Sprache im Shop ausgeschaltet. Das Ergebnis bleibt sich jedoch gleich. Demzufolge kein Sprachproblem....

Im adodb_error.log erscheint mir beim Erstellen eines neuen Artikels folgender Inhalt:

Code: Alles auswählen

(2009-10-03 09:08:20) mysql error: [1366: Incorrect integer value: '' for column 'products_reorder_level' at row 1] in EXECUTE("INSERT INTO products (products_quantity, products_reorder_level, products_model, products_ean, products_image, products_subimage1, products_subimage2, products_subimage3, products_subimage4, products_subimage5, products_subimage6, products_price, products_base_price, products_product_quantity, products_base_quantity, products_base_unit, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id, products_price_list, products_discount_allowed, products_quantity_order_min, products_quantity_order_units, products_discount1, products_discount1_qty, products_discount2, products_discount2_qty, products_discount3, products_discount3_qty, products_discount4, products_discount4_qty, products_sort_order, products_date_added) values ('4', '', '', '', '', '', '', '', '', '', '', '5.57620817844', '1', '1', '1', '', null, '1', '3', '3', '6', '0', '0.00', '1', '', '0', '', '0', '', '0', '', '0', '', '', now())") 
(2009-10-03 09:08:20) mysql error: [1062: Duplicate entry '0-7' for key 'PRIMARY] in EXECUTE("INSERT INTO products_to_categories (products_id, categories_id) values ('0', '7')") 
(2009-10-03 09:08:20) mysql error: [1062: Duplicate entry '0-53' for key 'PRIMARY] in EXECUTE("INSERT INTO products_to_categories (products_id, categories_id) values ('0', '53')") 

Dies sieht schon eher nach Fehler aus. Offensichtlich wird kein Wert an "products_reorder_level" übergeben....

Gehe ich richtig davon aus, dass hier die letzte Position der products_id ermittelt wird und die anschliessende Zahl ergibt dann products_reorder_level? Und da dort kein Wert hinterlegt ist, beginnt er Mal mit dem Einfügen in der Tabelle products_description (mit products_id: Wert 0) und später bemerkt er dann irgendwie den Fehler und fällt auf die Schnauze....

An welcher Position wird den dieser Wert ermittelt?

Gruss
Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

[quote='päde',index.php?page=Thread&postID=1424#post1424]
Das Ergebnis aus var_dump sieht so aus....

Code: Alles auswählen

array(3) { 
[0] 
=> array(4) {["id"] 
=> string(1) "1" ["name"] 
=> string(7) "Deutsch" ["iso_639_2"] 
=> string(3) "deu" ["iso_639_1"] 
=> string(2) "de" } 
[1] 
=> array(4) { ["id"] 
=> string(1) "2" ["name"] 
=> string(7) "English" ["iso_639_2"] 
=> string(3) "eng" ["iso_639_1"] 
=> string(2) "en" } 
[2] 
=> array(4) { ["id"] 
=> string(1) "7" ["name"] 
=> string(8) "Français" ["iso_639_2"] 
=> string(3) "fra" ["iso_639_1"] 
=> string(2) "fr" } } 

[/quote]
Dies ist Okay.

[quote='päde',index.php?page=Thread&postID=1424#post1424]
Im adodb_error.log erscheint mir beim Erstellen eines neuen Artikels folgender Inhalt:

Code: Alles auswählen

(2009-10-03 09:08:20) mysql error: [1366: Incorrect integer value: '' for column 'products_reorder_level' at row 1] in EXECUTE("INSERT INTO products (products_quantity, products_reorder_level, products_model, products_ean, products_image, products_subimage1, products_subimage2, products_subimage3, products_subimage4, products_subimage5, products_subimage6, products_price, products_base_price, products_product_quantity, products_base_quantity, products_base_unit, products_date_available, products_weight, products_status, products_tax_class_id, manufacturers_id, products_price_list, products_discount_allowed, products_quantity_order_min, products_quantity_order_units, products_discount1, products_discount1_qty, products_discount2, products_discount2_qty, products_discount3, products_discount3_qty, products_discount4, products_discount4_qty, products_sort_order, products_date_added) values ('4', '', '', '', '', '', '', '', '', '', '', '5.57620817844', '1', '1', '1', '', null, '1', '3', '3', '6', '0', '0.00', '1', '', '0', '', '0', '', '0', '', '0', '', '', now())") 

[/quote]

Bitte einmal mit PHPmyAdmin in der Datenbanktabelle [b]products[/b] prüfen, ob [b]products_reorder_level[/b] den Standardwert '5' hat. Wenn nicht eben das
Datenfeld ändern auf 5.

cu

ralf
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo Ralf
Bitte einmal mit PHPmyAdmin in der Datenbanktabelle products prüfen, ob products_reorder_level den Standardwert '5' hat. Wenn nicht eben das
Datenfeld ändern auf 5.
Standardwert ist bereits auf 5. Allerdings ist die Eingabe des NULL-Wertes nicht erlaubt. Zudem habe ich gesehen, dass sämtliche bereits vorhandenen Einträge den Wert 0 aufweisen.

Gruss
Päde
r23
Beiträge: 2625
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

NOT NULL ist nicht gleich darf nicht 0 sein... sonder darf nicht leer sein.
Bei dem insert ist der Wert für das Feld allerdings lerr ('') hier sollte der Default Wert dann 5 sein.

Hier die Struktur der Datenbank Tabelle
[mysql]
CREATE TABLE IF NOT EXISTS `products` (
`products_id` int(11) NOT NULL AUTO_INCREMENT,
`products_quantity` int(11) NOT NULL DEFAULT '0',
`products_reorder_level` int(11) NOT NULL DEFAULT '5',
`products_model` varchar(12) DEFAULT NULL,
`products_ean` varchar(13) DEFAULT NULL,
`products_image` varchar(64) DEFAULT NULL,
`products_subimage1` varchar(64) DEFAULT NULL,
`products_subimage2` varchar(64) DEFAULT NULL,
`products_subimage3` varchar(64) DEFAULT NULL,
`products_subimage4` varchar(64) DEFAULT NULL,
`products_subimage5` varchar(64) DEFAULT NULL,
`products_subimage6` varchar(64) DEFAULT NULL,
`products_price` decimal(15,4) NOT NULL DEFAULT '0.0000',
`products_base_price` decimal(10,6) NOT NULL DEFAULT '1.000000',
`products_product_quantity` decimal(10,2) NOT NULL DEFAULT '1.00',
`products_base_quantity` decimal(10,6) NOT NULL DEFAULT '1.000000',
`products_base_unit` varchar(12) DEFAULT NULL,
`products_date_added` datetime DEFAULT NULL,
`products_last_modified` datetime DEFAULT NULL,
`products_date_available` datetime DEFAULT NULL,
`products_weight` decimal(5,2) NOT NULL DEFAULT '0.00',
`products_status` tinyint(4) NOT NULL DEFAULT '0',
`products_tax_class_id` int(11) NOT NULL DEFAULT '0',
`manufacturers_id` int(11) DEFAULT NULL,
`products_ordered` int(11) NOT NULL DEFAULT '0',
`products_quantity_order_min` int(11) NOT NULL DEFAULT '1',
`products_quantity_order_units` int(11) NOT NULL DEFAULT '1',
`products_price_list` decimal(15,4) DEFAULT '0.0000',
`products_discount_allowed` decimal(15,2) NOT NULL DEFAULT '0.00',
`products_discount1` decimal(15,4) NOT NULL DEFAULT '0.0000',
`products_discount2` decimal(15,4) NOT NULL DEFAULT '0.0000',
`products_discount3` decimal(15,4) NOT NULL DEFAULT '0.0000',
`products_discount4` decimal(15,4) NOT NULL DEFAULT '0.0000',
`products_discount1_qty` smallint(6) NOT NULL DEFAULT '0',
`products_discount2_qty` smallint(6) NOT NULL DEFAULT '0',
`products_discount3_qty` smallint(6) NOT NULL DEFAULT '0',
`products_discount4_qty` smallint(6) NOT NULL DEFAULT '0',
`products_discounts_id` int(11) NOT NULL DEFAULT '0',
`products_slave_visible` tinyint(4) NOT NULL DEFAULT '1',
`products_sort_order` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`products_id`),
KEY `idx_products_date_added` (`products_date_added`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ; [/mysql]

und wie sieht das Feld bei dir aus?
[mysql]
CREATE TABLE IF NOT EXISTS `n_products` (
`products_quantity` int(11) NOT NULL DEFAULT '0',
`products_reorder_level` int(11) NOT NULL DEFAULT '5',
[/mysql]

cu

ralf
päde
Beiträge: 30
Registriert: 24.09.2008, 15:11
Kontaktdaten:

Beitrag von päde »

Hallo Ralf

Die Tabelle products ist korrekt generiert. Ich meinte auch nicht, dass NOT NULL etwas mit den vorhandenen Einträgen (0) zu tun hat. Vielmehr wollte ich darauf hinweisen, dass die vorhergehenden Einträge nie einen leeren Wert erhielten (ansonsten wäre der Wert ja bei 5). Der Fehler ist also beim Fehlen des Übergabewertes 0 für products_reorder_level zu suchen.

Die Tabelle n_products existiert bei mir nicht.

Gruss
Päde
Antworten