Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
msqli php查询更新不工作,未返回任何错误_Php_Mysql - Fatal编程技术网

msqli php查询更新不工作,未返回任何错误

msqli php查询更新不工作,未返回任何错误,php,mysql,Php,Mysql,我编写了以下代码: public static function updateUser($userid, $username){ $query = 'UPDATE users SET username=? WHERE id=?'; $statement = $GLOBALS["DB"]->prepare($query); $statement->bind_param('is', $userid, $username); $statement->ex

我编写了以下代码:

 public static function updateUser($userid, $username){
 $query = 'UPDATE users SET username=? WHERE id=?';
    $statement =  $GLOBALS["DB"]->prepare($query);
    $statement->bind_param('is', $userid, $username);
    $statement->execute();
    $statement->store_result();

    if ($statement->affected_rows == 1){
        return  1;
    }
    else{
        return $statement;
    }}
表的名称是正确的,我在方法中传递的数据也是正确的,数据库是正常的,但它失败了,并且没有返回错误。当我尝试将语句数据返回控制台时,它会给出以下信息:

mysqli\u stmt对象([受影响的\u行]=>0[插入\u id]=>0[行数] =>0[param\u count]=>2[field\u count]=>0[errno]=>0[error]=>[error\u list]=>Array()[sqlstate]=>00000[id]=>3) {“状态”:“成功”}

我检查了错误列表,它是空的。我需要设置一些东西使其更新吗?有人知道它可以是什么吗? 数据库的创建方式如下:

<?php
    require_once ("simplecms-config.php");
    require_once ("./Functions/database.php");

    // Create database connection
    $databaseConnection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
    if ($databaseConnection->connect_error)
    {
        die("Database selection failed: " . $databaseConnection->connect_error);
    }
    // Create tables if needed.
    prep_DB_content();
    $GLOBALS['DB'] = $databaseConnection ;
?>


绑定参数中的参数列表需要与查询本身中的参数匹配

因为查询的用户名是第一个?第二个是userid?,这是bind_param调用必须使用的:


$statement->bind_参数('si',$username,$userid)

绑定参数中的参数列表不匹配

$statement->bind_param('is', $userid, $username);


尝试
$statement->bind_参数('si',$username,$userid)
而不是
$statement->bind_param('is',$userid,$username)
$statement->bind_param('si', $username, $userid);