Maison  >  Questions et réponses  >  le corps du texte

Pourquoi ne puis-je pas utiliser $mysqli->query dans une fonction personnalisée ?

MCXCI}8`AS6FQ6ZJ7TUW)%H.png

别闹i别闹i2614 Il y a quelques jours1003

répondre à tous(1)je répondrai

  • 天蓬老师

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

    Il y a quelque chose qui ne va pas avec votre utilisation~~

    La condition préalable pour utiliser $mysqli->query() est : vous avez créé l'objet $mysqli. Je me demande si vous avez créé cet objet dans le fichier dbconfigs.php ?

    De plus, vous avez utilisé mysqli_fetch_array() ci-dessous. Il s'agit d'une instruction typique orientée processus. Je ne comprends vraiment pas comment vous voulez appeler les données ?

    Si vous souhaitez utiliser l'orienté objet, veuillez l'utiliser comme ceci :

    $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();

    S'il est orienté processus, veuillez modifier le code ci-dessus :

    $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);

    Veuillez ne pas mélanger orienté objet et orienté processus.

    Le site Web PHP chinois propose des tutoriels pour ces deux parties :

    http://www.php.cn/course/653.html (orienté objet MySQL)

    http://www.php.cn/course/653 .html (MySQLi est orienté processus)

    répondre
    1
  • 别闹i

    $mysqli=new mysqli("localhost","root","root","perform_file") ou die("Échec de la connexion à la base de données"); $mysqli->query("définir les noms utf8"); //Voici la configuration dans dbconfigs.php mysqli_fetch_array //N'est-ce pas une boucle du résultat de la requête via le tableau ?

    别闹i · 2017-09-18 09:23:35
    别闹i

    Y a-t-il un problème avec la configuration dans dbconfigs.php ?

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

    mysqli_fetch_array() convertit le jeu de résultats en sortie de tableau un par un, y compris l'index et l'association

    天蓬老师 · 2017-09-18 09:29:22
  • Annulerrépondre