MySql查询在localhost中运行,但不在Web Server中运行

时间:2014-05-30 07:33:09

标签: php mysql sql

我有一个像这样的数据库表......

CREATE TABLE IF NOT EXISTS `example` (
  `id` varchar(78) COLLATE latin1_general_ci NOT NULL,
  `username` varchar(78) COLLATE latin1_general_ci NOT NULL,
  `password` varchar(78) COLLATE latin1_general_ci NOT NULL,
  `reg_date` date NOT NULL,
  `reg_time` time NOT NULL,
  `permission` varchar(78) COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

现在我正在从PHP执行查询...

INSERT INTO `example` (`id`, `username`, `password`, `reg_date`, `reg_time`, `permission`) VALUES ('j652hsL', 'example_user', 'secret', '', '', '');

此查询在我的localhost中运行完美,当然有警告但数据插入没有问题...是reg_datereg_time& permissions字段持有0000-00-0000:00:00&分别为*Blank* ...但插入没有问题...现在同一个插入查询没有在某个Web服务器上运行... 我有一个Web服务器,我在那里测试它运行时没有错误但当我转移到不同的Web服务器时它没有运行那里...我认为它是某种服务器设置问题...但是可能的阻止它插入数据?

先谢谢大家。

1 个答案:

答案 0 :(得分:1)

检查本地服务器和Web服务器是否使用不同的SQL MODE。根据模式的严格程度,它会以不同的方式处理零日期,默认值和其他事项。

要使当前设置在两台服务器上运行show variables like 'sql_mode'