php - 如何从mysqli中获得与mysql_result()中相同的结果?

标签 php mysql mysqli

我正在尝试将相同的结果从mysql_result()转换为mysqli

我要用这个

function user_id_from_username() {
    $username = sanitize($username);
    return mysql_result(mysql_query("SELECT id FROM users WHERE username = '$username'"), 0, 'id');
}


输入为mysqli

mysql_result()函数具有string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )此参数。

那么如何使它与mysqli中的相同?如果mysqli中有任何函数具有所有这些参数,例如mysql_result()函数要在mysqli中使用。

我知道mysql扩展名将贬值,这就是为什么我要使用mysqli。

更新

我知道如何将数据库连接传递给它,那不是问题。我也试过了。及其工作。

function user_active($username) {
    global $con;
    $username = sanitize($username);
    $result = mysqli_query($con,"SELECT `id` FROM `users` WHERE `username` = '$username' AND `active` = 1");
    return (mysqli_num_rows($result) == 1) ? true : false;
}


提前谢谢了。

最佳答案

没有相应的mysqli_result()函数,但这应等效于基于mysql的代码:

function user_id_from_username() {
  $username = sanitize($username);
  $result = mysqli_query("SELECT id FROM users WHERE username = '$username'");
  $row = mysqli_fetch_row($result);
  return $row[0];
}


但是您确实应该检查函数调用的返回值,所以我更喜欢这样的事情:

function user_id_from_username() {
  $username = sanitize($username);
  $id = false;  // Return false on database error, or user not found.

  if ($result = mysqli_query("SELECT id FROM users WHERE username = '$username'")) {
    if ($row = mysqli_fetch_row($result)) {
      $id = $row[0];
    }
    mysqli_free_result($result); // Always free your resources.
  }

  return $id;
}

关于php - 如何从mysqli中获得与mysql_result()中相同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25330616/

相关文章:

php - 如何将php数组保存到mysql表中?

php - 进行多个mysql连接的最佳实践

mysql - 算在where语句中吗?

php - 使用 MySQLi 循环数据库结果

php - 如何通过从数据库中获取值来创建可靠的下拉列表

php - UTF-8贯穿始终

php - 如何在 Wamp 3 中的 PHP 版本之间切换?

php - 在没有网络服务器的情况下在 linux 上使用 php 从文件夹发送电子邮件

python - 不支持身份验证插件 'caching_sha2_password'

php - 我如何确保只有我的phonegapp ajax帖子将由php执行