问题是,我在下面有一条这样的声明,并且在我的android应用的服务器端使用它
$statement = mysqli_prepare($con, "SELECT * FROM accounts WHERE email = ? OR username = ?");
mysqli_stmt_bind_param($statement, "ss", $email, $username);
$result = mysqli_stmt_execute($statement);
$rows = mysqli_stmt_fetch($result);
而且我想知道从中返回了多少行,所以我可以知道数据库中是否已经存在具有相同用户名和电子邮件的数据,但是它不起作用。
如何解决这个问题呢?并在此先感谢。
我想知道又返回了几行
不,你没有。这是一个错误的目标。
使用数据库时,应始终请求所需的确切数据,而不是在客户端进行一些计算。
因此,在您的情况下,您需要用户信息-因此请选择该信息。意味着您可以使用此非常用户信息来判断您的查询是否返回了任何内容。
$statement = mysqli_prepare($con, "SELECT * FROM accounts WHERE email = ? OR username = ?");
mysqli_stmt_bind_param($statement, "ss", $email, $username);
mysqli_stmt_execute($statement);
$result = mysqli_get_result($statement);
$user = mysqli_fetch_assoc($result);
//now you have the very $user variable to tell whether anything was found
if ($user) {
//user exists
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句