2

有人告诉我停止使用 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 via TCP/IP
  • 警告:mysqli_query() [function.mysqli-query]:无法在第 9 行的 /homepages/9/d413002686/htdocs/maintenance/testsession.php 中获取 mysqli
  • 警告:mysqli_fetch_array() 期望参数 1 为 mysqli_result,在第 12 行的 /homepages/9/d413002686/htdocs/maintenance/testsession.php 中给出了 null
  • 警告:mysqli_free_result() 期望参数 1 为 mysqli_result,在第 15 行的 /homepages/9/d413002686/htdocs/maintenance/testsession.php 中给出 null
  • 警告:mysqli_close() [function.mysqli-close]: 无法在第 18 行的 /homepages/9/d413002686/htdocs/maintenance/testsession.php 中获取 mysqli ()

我将它用于 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);
?>
4

1 回答 1

2

应删除包含文件中的这一行:

// Close the link
mysqli_close($link);

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

于 2012-05-28T22:51:49.007 回答