簡體   English   中英

如何調試查詢?

[英]How do i debug my query?

我正在嘗試向mysql數據庫中插入一些數據

$db = new DataBase($config);

// connect to the database RETURNS true if success false if fails
$conn = $db->connect();

// check whether the connection is successfull or not...
if ($db->isConnected())
     {

        //prepare the query
        $query = 'INSERT INTO scoreboard (score) VALUES(:score) WHERE username=:username';
        $bindings =  array(
                         'score'   =>  $score,
                        'username' => ($_SESSION['username'])

                         );


        // call the query function from db class and retrieve the results as an array of rows.
        $results = $db->setData($conn,$query,$bindings);
        if ($results)
            echo "Your Score is Updated!";
        else

            echo "Your Score is Not Updated!";


        }

這是setData()的作用:

function setData($conn,$query,$bindings)
{
    try {

            // prepare the query
            $stmt = $conn->prepare($query);

            //binde the query with the data .here the data is $bindings
            $stmt->execute($bindings);

            return ( $stmt->rowCount() > 0 )
                // return the result if the query is success else return false.
                ? $stmt
                : false;
        } 

        catch(Exception $e) {
            // return error if something goes wrong
            return false;
        }


}

每次運行此腳本時,都會得到“您的分數未更新”作為輸出。

我要去哪里錯了?

是$ _SESSION ['username']引起麻煩了嗎?

任何有適當解釋的幫助將不勝感激!

您要更新還是插入? 在phpmyadmin上使用靜態數據手動嘗試查詢,然后確保設置了會話並成功插入數據,則返回true

暫無
暫無

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

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