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);