カスタム関数で $mysqli->query を使用できないのはなぜですか?
别闹i
别闹i 2017-09-15 11:19:45
0
1
1021

MCXCI}8`AS6FQ6ZJ7TUW)%H.png

别闹i
别闹i

全員に返信(1)
Peter Zhu

あなたの使い方に何か問題があります~~

$mysqli->query() を使用するための前提条件は、$mysqli オブジェクトを作成していることです。このオブジェクトを dbconfigs.php ファイルに作成しているでしょうか。

また、以下では mysqli_fetch_array() を使用していますが、これは典型的なプロセス指向のステートメントであり、データをどのように呼び出したいのかよくわかりません。

オブジェクト指向を使用したい場合は、次のように使用してください:

$mysqli = new mysqli($host,$userName,$password,$dbName);
if ($mysqli->connect_errno){
    die('Error Connected'.$mysqli->connect_error;
}
$result = $mysqli->query('SELECT * FROM table_name');
if ($result && $result->num_rows > 0){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
   //输出数据
 }
 $result->free_result();
}
$mysqli->close();

プロセス指向の場合は、上記のコードを変更してください:

$conn = mysqli_connect($host,$userName,$password,$dbName);
if (mysqli_connect_errno($conn)){
    die('Error Connected'.mysqli_connect_error($conn);
}
$result = mysqli_query('SELECT * FROM table_name');
if ($result && mysqli_num_rows($conn,$result) > 0){
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
   //输出数据
 }
 mysqli_free($result);
}
mysqli_close($conn);

オブジェクト指向とプロセス指向を混合しないでください。

PHP 中国語 Web サイトには、次の 2 つの部分のチュートリアルがあります:

http://www.php.cn/course/653.html (MySQLi オブジェクト指向)

http://www.php.cn/course/653 .html (MySQLi はプロセス指向です)

いいねを押す +1
  • 返事 $mysqli=new mysqli("localhost","root","root","perform_file") または die("データベースへの接続に失敗しました"); $mysqli->query("set names utf8"); //これは dbconfigs.php の設定です mysqli_fetch_array //これは配列を介してクエリ結果セットをループアウトしているのではありませんか?
    别闹i 著者 2017-09-18 09:23:35
  • 返事 dbconfigs.phpの設定に問題があるのでしょうか?
    别闹i 著者 2017-09-18 09:43:54
  • 返事 mysqli_fetch_array() は、インデックスとアソシエーションを含む結果セットを 1 つずつ配列出力に変換します。
    天蓬老师 著者 2017-09-18 09:29:22
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート