将 Mysql 转换为 Mysqli


Converting Mysql to Mysqli

我被告知停止使用MySQL,现在学习MySQLi。但是我在使用 fetch 数组时遇到了问题,不知道我做错了什么。

//Connect to db
include "mysqli_connect.php";
// Construct our join query
$sql = "SELECT userID, username, lastlogin FROM users";
//Crate results
$result = mysqli_query($link, $sql);
// Print out the contents of each row into a table 
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
// Free result set
mysqli_free_result($result);
// Close connection
mysqli_close($link);


我看到的消息:
  • [连接成功] 主机信息:db413417616.db.1and1.com 方式TCP/IP
  • 警告:mysqli_query() [function.mysqli-query]:无法获取mysqli in/homepages/9/d413002686/htdocs/maintenance/testsession.php在第 9 行
  • 警告:mysqli_fetch_array() 预期参数 1 为mysqli_result,空给出/首页/9/d413002686/htdocs/maintenance/testsession.php 在第 12 行
  • 警告:mysqli_free_result() 预期参数 1 为mysqli_result,空给出/首页/9/d413002686/htdocs/maintenance/testsession.php 在第 15 行
  • 警告:mysqli_close() [function.mysqli-close]:无法获取mysqli in/homepages/9/d413002686/htdocs/maintenance/testsession.php在第 18 行 ()

我用它来mysqli_connect.php:http://www.php.net/manual/en/mysqli.construct.php

<?php
// $link (host, username, password, database)
$link = mysqli_connect('host', 'username', 'password', 'database');
//If connection is successful, otherwise show error message. 
if (!$link) {
    die('[Connect Fail] Error: (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}
// Echo success message
echo '[Connection Successful] Host info: ' . mysqli_get_host_info($link) . "'n";
// Close the link
mysqli_close($link);
?>

应删除包含文件中的此行:

// Close the link
mysqli_close($link);

您正在关闭$link,也就是您与数据库的连接,然后尝试在查询中使用它。您只想在全部完成它时关闭它。