1
我今天升級了mysql,現在我的類中的大多數'add'函數都出錯了。Mysql 5.7.11 - 如何在php類中管理空日期
這是我的PHP類之一的爲例:
class A
{
private $date_plouf;
...
public function add()
{
$db = databaseManager::getDb();
$requete = "INSERT INTO table_A (date_plouf) VALUES (:date_plouf)";
$stmt = $db->prepare($requete);
$result = $stmt->execute(array('date_plouf'=>$this->date_plouf));
}
}
我的MySQL更新之前,如果$date_plouf
是空的,要求是:
INSERT INTO table_A (date_plouf) VALUES ('');
這是工作的罰款。但現在不行了。現在我有一個錯誤:
不正確的日期值: ''
所以,我試圖改變的sql_mode全局變量。
我改變:
STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER
爲:
STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
但它沒有改變任何東西。
我試圖把這個日期時間字段的默認值在0000-00-00 00:00:00
的DB中,但它也不工作。
我發現我的解決方案將我的所有日期值設置爲0000-00-00 00:00:00
在我的php類中。但這意味着我將不得不改變我的所有課程。
對此的任何建議?
是的,這就是我的想法。但是這會迫使我糾正我所有的課程。我在想,也許有一種方法來配置mysql 5.7來接受用=''設置日期。 –