这是否正确,我知道你不应该再使用mysql了。所以我只是添加了我到底,这是我从互联网上得到的代码,我是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;
}
答案 0 :(得分: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;