2

MySQL の使用をやめ、現在は MySQLi を学習するように言われました。ただし、フェッチ配列を使用して問題が発生し、何が間違っていたのかわかりません。

//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]: 行 9 の /homepages/9/d413002686/htdocs/maintenance/testsession.php で mysqli を取得できませんでした
  • 警告: mysqli_fetch_array() は、パラメーター 1 が mysqli_result であることを想定しています。null は、/homepages/9/d413002686/htdocs/maintenance/testsession.php の 12 行目に指定されています。
  • 警告: mysqli_free_result() は、パラメーター 1 が mysqli_result であることを想定しています。null は、/homepages/9/d413002686/htdocs/maintenance/testsession.php の 15 行目に指定されています。
  • 警告: 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 に答える