Tárhelyszolgáltatónk

Mala & Társa Webrendszerek Kft. - Tárhely szolgáltató

Twitteren vagyunk

osCommerce - Magyarország a Twitteren

Névnap
Ma 2012. február 10., péntek, Elvira napja van. Holnap Bertold és Marietta napja lesz.
Kövess a Facebookon.
Joomla Templates and Joomla Extensions by JoomlaVision.Com
Címlap Hibák és elhárításuk PHP Warning: [MYSQL] Field ' ' doesn't have a default value (1364): [QUERY] insert into

PHP Warning: [MYSQL] Field ' ' doesn't have a default value (1364): [QUERY] insert into

Kritikus hiba, ami már elrontott mindent!!!

Amikor admin felületről adatbázist mentünk és visszatöltünk, az áruházban dolgozva találkozhatunk egy csomó SQL hibaüzenettel, mint például ilyennel:

PHP Warning: [MYSQL] Field 'products_ordered' doesn't have a default value (1364): [QUERY] insert into osc_products (parent_id, products_quantity, products_price, products_model, products_weight, products_weight_class, products_status, products_tax_class_id, manufacturers_id, products_date_added, has_children) values (0, 13, 457, 'DÜ-22071', 0.01, 4, 1, 5, 0, '2009-08-21 18:32:52', 0) in /home/demoweb/public_html/osc3/includes/classes/database.php on line 72

Ennek az az oka, hogy az adatbázis tábláink egyes mezőinek default értékei nem kerülnek meghatározásra, mert 0 értékűek voltak. A 0 érték nem azonos a nem definiállt értékkel és ez a hiba forrása.

Keressük meg a következő fájlt:

/admin/includes/applications/backup/classes/backup.php

kb a 61 sorban cseréljük le a következőt:

if ( !osc_empty($Qfields->value('Default'))) {
$schema .= ' default \'' . $Qfields->value('Default') . '\'';
}


Erre:
if ( !osc_empty($Qfields->value('Default')) OR strlen($Qfields->value('Default')) != 0 ) {
$schema .= ' default \'' . $Qfields->value('Default') . '\'';
}

A fenti kódból valószínűleg eltüntethető a !osc_empty($Qfields->value('Default')) OR 

Amennyiben már töltöttünkvissza adatbázist, akkor kézi módszerrel, a PHPADMIN felületen kel visszaállítani az adatbázis mezők default értékeit kb 68 helyen. Jelenleg jobbnak tűnik, ha PHPAdmin felületről készítjük mentéseinket és visszatöltéseinket.


Tóth Geregely

Hozzászólások (3)
  • Ádám  - --

    Szia! Én is beleestem ebbe. Ezeket az értékeket hogyan lehet visszaállítani/hol? Miböl veszem észre, hogy nem jó értéken van? Segítséged előre is köszönöm!

  • tgely

    Szia!

    A hibaüzenetből egyértelmű. A default null értékek hibáznak 68 helyen.
    A mentés állományban kézzel kell végig javítani és utána visszatölteni a javított mentést, illetve a backup.php-ban feltétlenül javítsd ki a rossz sort.

    Ha nagy a gáz keress emailben.

  • Ádám  - Köszönöm!

    Szia!
    Köszönöm a gyors segítséget! Sikerült kijavítanom. Most azzal küzdök, higy rendelésnél az input field nem fogad el tört értéket. Nemtudod hogy hol lehet átállítani? >> tehát 1nél kisebb számmal nem lehet rendelni pl.: 0.1 azaz 100gramm

Hozzászólást csak Regisztrált felhasználó írhat!

Módosítás: ( 2009. október 25. vasárnap, 09:22 )