簡體   English   中英

如何修復'SQLSTATE [22007]:無效的日期時間格式:1292截斷了錯誤的DOUBLE值:'X'

[英]How to fix 'SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: 'X''

我目前正在建立一個網站頁面(“記錄”頁面),該頁面計算進入另一個網站頁面(“網站”頁面)的總人數,因此我在該網站頁面上設置了一個cookie,以增加數據庫。

我已經看到其他用戶遇到此問題,因為他們在其“ SET”語句中包含了“ AND”語句。 但是,我沒有“ AND”語句

在我的存儲庫中,我有以下代碼:

public function addConnections($name): int
{
    $qb = $this->createQueryBuilder('connectionCounter')
        ->update('App\Entity\site', 'connectionCounter')
        ->set('connectionCounter.nbConnections', 'connectionCounter.nbConnections + 1')
        ->where('connectionCounter.name = (:name)')
        ->setParameter('name', $name)
        ->getQuery();

    return $qb->execute();
}

在我的控制器中,我有以下代碼:

if($repository)
{
    $query = $this->getDoctrine()
                  ->getRepository(Activity::class)
                  ->findActivities($repository[0]->getIdSite());

    $cookieCreator = 0;
    if (!isset($_COOKIE['Connection'])) {
        setcookie("Connection","1",time()+60*60*24*100);

        $connections = $this->getDoctrine()
                            ->getRepository(Site::class)
                            ->addConnections($repository[0]->getIdSite());
}

我期望數據庫得到更新,當我進入“記錄”頁面時,我看到訪問量增加了。

實際發生的情況是這樣的:

An exception occurred while executing 'UPDATE site SET nb_connections = nb_connections + 1 WHERE name = (?)' with params [2]:

SQLSTATE[22007]: Invalid datetime format: 1292 Truncated incorrect DOUBLE value: 'X '

甚至對為什么會發生這種情況的解釋也很棒!

在我的控制器中,我有輕微的疏忽:

->addConnections($repository[0]->getIdSite());

什么時候應該是:

->addConnections($repository[0]->getName());

我更改了它,現在可以使用了。 抱歉!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM