如何从php获取sql中受影响的行
我已经写下了下面的代码..但是当我尝试获取受影响的行(检查用户详细信息是否与数据库的匹配)时,即使语句成功执行,它也总是返回0作为受影响的行..我做错了什么如何从php获取sql中受影响的行,php,android,mysqli,Php,Android,Mysqli,我已经写下了下面的代码..但是当我尝试获取受影响的行(检查用户详细信息是否与数据库的匹配)时,即使语句成功执行,它也总是返回0作为受影响的行..我做错了什么 if($connection){ $username = "admin"; $password = "admin"; $statement = mysqli_prepare($connection,"SELECT * FROM `admin` WHERE username = ? AND password = ?"); mysqli
if($connection){
$username = "admin";
$password = "admin";
$statement = mysqli_prepare($connection,"SELECT * FROM `admin` WHERE username = ? AND password = ?");
mysqli_stmt_bind_param($statement,"ss",$username,$password);
mysqli_stmt_execute($statement);
if(mysqli_affected_rows($connection) == 1){
$response = array('response'=>true);
}else{
$response = array('response'=>false);
}
echo json_encode($response);
mysqli_stmt_close($statement);
mysqli_close($connection); }
使用将语句作为参数的函数:
改变
if(mysqli_affected_rows($connection) == 1)
到
使用将语句作为参数的函数:
改变
if(mysqli_affected_rows($connection) == 1)
到
您不应该将
$connection
变量传递给函数,而是传递结果。如果不使用mysqli\u受影响的行
,您可以使用mysqli\u num\u行
,将来可能会变得混乱。您不应该将$connection
变量传递给函数,而应该传递结果。不要使用mysqli\u受影响的行
您可能会使用mysqli\u num\u行
,它可能会在将来变得混乱。我从上面的$statement变量获取数据。对吗?看,试试echo
ingmysqli\u stmt\u受影响的行($stmt)的值
&看看它是否等于0。如果为0,则表示您的SELECT
查询不返回任何行。在这两种情况下,它都返回-1。我认为绑定参数及其自身包含的“?”语句很重要。函数返回-1
表示您的查询遇到错误;我很抱歉我不能帮你调试。可能会有很多问题&根据你目前发布的内容,我无法告诉他们;你必须自己做:至少,现在你知道问题是什么了,你的查询。我从上面的$statement变量获取数据。对吗?看,试试echo
ingmysqli\u stmt\u受影响行($stmt)
&看看它是否等于0。如果为0,则表示您的SELECT
查询不返回任何行。在这两种情况下,它都返回-1。我认为绑定参数及其自身包含的“?”语句很重要。函数返回-1
表示您的查询遇到错误;我很抱歉我不能帮你调试。可能会有很多问题&根据你目前发布的内容,我无法告诉他们;你必须自己做:至少,现在你知道问题是什么了,你的疑问。