mysql_query - розны паводзіны на розных серверах

I have 2 different servers: one running Plesk Panel (PHP 5.2.13 & MySQL 5.0.45-community-nt), and the other running Zend Server 5.5 (PHP 5.2.17 & MySQL 5.1.50-community).

У мяне ёсць табліца ў БД MySQL на абодвух серверах наступным чынам:

    CREATE TABLE `test_table` (
      `id` int(11) NOT NULL auto_increment,
      `num` int(5) NOT NULL,
      `txt` text NOT NULL,
      `ste` bigint(5) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1

я выканаць наступны PHP-код на абодвух серверах:

    mysql_query("START TRANSACTION");

    if(!mysql_query("insert into test_table(num,txt) values(1,'sd')"))
    {
        echo "ERROR OCCURED.
".mysql_error(); mysql_query("ROLLBACK"); exit; } else { echo "Successful insertion"; mysql_query("COMMIT"); exit; }

я атрымліваю запыт паспяхова працаваць на маім сэрвэры Plesk (з папярэджаннямі - калі запусціць SHOW ПЕРАСЦЯРОГА запыт, я атрымліваю «" Ste "поле не мае значэння па змаўчанні», але радок ўстаўляецца і mysql_query вяртае ісціну)

але на маім сэрвэры Zend, mysql_query вяртае хлусня і паказана тая ж памылка. радок не ўстаўлена.

мне патрэбна радок, якая будзе ўстаўлена ігнаруючы папярэджання. я цэлы дзень правесці на гэтым і з варыянтаў у цяперашні час.

калі ласка, дапамажыце мне ў гэтым. дзякуй шмат загадзя.

0

2 адказы

Здавалася б, як калі б MySQL працуе на сэрвэры Zend працуе ў строгім рэжыме. Гэта азначае, што тое, што было б у адваротным выпадку папярэджанне становіцца фатальнай памылкай.

Глядзіце тут для атрымання інфармацыі пра рэжымы сервера і як змяніць іх, паспрабуйце адключыць строгі рэжым, і паглядзець, калі гэта дапамагае.

1
дададзена
Дзякуй вялікі за адказ. я ўсталяваць SQL-рэжым «» і ён працуе выдатна. Дзякуй зноў.
дададзена аўтар user1016513, крыніца

Вы можаце выкарыстоўваць ключавое слова IGNORE? Ўстаўце ігнаруе в ..... Не ўпэўнены, што гэта добрая ідэя, хоць

0
дададзена