我如何调试我的查询


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