ホームページ  >  に質問  >  本文

カスタム関数で $mysqli->query を使用できないのはなぜですか?

MCXCI}8`AS6FQ6ZJ7TUW)%H.png

别闹i别闹i2564日前971

全員に返信(1)返信します

  • 天蓬老师

    天蓬老师2017-09-15 14:31:20

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

    $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
  • 别闹i

    $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
    别闹i

    dbconfigs.phpの設定に問題があるのでしょうか?

    别闹i · 2017-09-18 09:43:54
    天蓬老师

    mysqli_fetch_array() は、インデックスとアソシエーションを含む結果セットを 1 つずつ配列出力に変換します。

    天蓬老师 · 2017-09-18 09:29:22
  • キャンセル返事