Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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
如何从php获取sql中受影响的行_Php_Android_Mysqli - Fatal编程技术网

如何从php获取sql中受影响的行

如何从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

我已经写下了下面的代码..但是当我尝试获取受影响的行(检查用户详细信息是否与数据库的匹配)时,即使语句成功执行,它也总是返回0作为受影响的行..我做错了什么

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
ing
mysqli\u stmt\u受影响的行($stmt)的值
&看看它是否等于0。如果为0,则表示您的
SELECT
查询不返回任何行。在这两种情况下,它都返回-1。我认为绑定参数及其自身包含的“?”语句很重要。函数返回
-1
表示您的查询遇到错误;我很抱歉我不能帮你调试。可能会有很多问题&根据你目前发布的内容,我无法告诉他们;你必须自己做:至少,现在你知道问题是什么了,你的查询。我从上面的$statement变量获取数据。对吗?看,试试
echo
ing
mysqli\u stmt\u受影响行($stmt)
&看看它是否等于0。如果为0,则表示您的
SELECT
查询不返回任何行。在这两种情况下,它都返回-1。我认为绑定参数及其自身包含的“?”语句很重要。函数返回
-1
表示您的查询遇到错误;我很抱歉我不能帮你调试。可能会有很多问题&根据你目前发布的内容,我无法告诉他们;你必须自己做:至少,现在你知道问题是什么了,你的疑问。