-1

这是正确的,我知道你不应该再使用mysql了。所以我只是将 i 添加到最后,这是我从互联网上获得的代码,我是 mysql 的新手,所以我不太确定我在做什么。我只是想确保这是正确的用法。

$sql = "SELECT lat, lon from zipcodes_2011 WHERE zipcode='$zip'";
  $r = mysqli_query($con, $sql);
  if (!$r) {
     $this->last_error = mysqli_error();
     return false;
  } else {
     $row = mysqli_fetch_array($r);
     mysqli_free_result($r);
     return $row;       
  } 
4

1 回答 1

2

这是不正确的。

查看文档mysqli_error:它指出这mysqli $link不是可选的。您必须将数据库链接传递给它。

$this->last_error = mysqli_error($con);

我也强烈建议准备这个。

$sql = "SELECT `lat`,`lon` FROM `zipcodes_2011` WHERE `zipcode` = ?";

$stmt = mysqli_stmt_init($link);

$error = mysqli_stmt_prepare($stmt, $sql);
if ($error === false) {
    $this->last_error = mysqli_error($con);
    return false;
}

$error = mysqli_stmt_bind_param($stmt, "s", $zip);
if ($error === false) {
    $this->last_error = mysqli_error($con);
    return false;
}

$error = mysqli_stmt_execute($stmt);
if ($error === false) {
    $this->last_error = mysqli_error($con);
    return false;
}

$error = mysqli_stmt_bind_result($stmt, $row);
if ($error === false) {
    $this->last_error = mysqli_error($con);
    return false;
}

$error = mysqli_stmt_fetch($stmt);
if ($error === false) {
    $this->last_error = mysqli_error($con);
    return false;
}

return $row;
于 2013-06-30T03:21:13.400 回答