異なるサーバー上の異なる振る舞い:Plesk Panelを(PHP 5.2.13 &のMySQL 5.0.45-コミュニティ-NT)、 および他の実行中のZend Server 5.5を実行して 1を(PHP 5.2.17 & MySQL 5.1.50-community)。するmysql_query - 私は2台の異なるサーバ持つ
次のように私は両方のサーバー上のMySQL DB内のテーブルを持っている:
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
iは、両方のサーバー上で次の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 WARNINGSクエリを実行すると "Field 'ste'にデフォルト値がありませんが、行が挿入され、mysql_queryがtrueを返します)
私のZendサーバーでは、mysq l_queryはfalseを返し、同じエラーが表示されます。行は挿入されません。
警告を無視して挿入する行が必要です。私はこれで一日中過ごし、今はオプションがありません。
私にこれを手伝ってください。ありがとうございます。
ありがとうございました。私はSQLモードを ""に設定しても問題ありません。再度、感謝します。 – user1016513