Le code de pagination encapsule une partie de l'erreur de connexion SQL
phpcn_xinyu
phpcn_xinyu 2018-07-11 00:39:13
0
7
1470

Professeur, pour la partie pagination, j'ai demandé Attention : mysqli::mysqli() : (HY000/1045) : Accès refusé pour l'utilisateur ''@'localhost' (en utilisant le mot de passe : NON) dans E:yifengcoreDb.php à la ligne 19

échec de la connexion : accès refusé pour l'utilisateur ''@'localhost' (en utilisant le mot de passe : NON)

pagination de la fonction statique publique ($table, $where = '', $page = 1, $pagesize = 10, $order = ' '){
$conn = self::db_connect();
$totals = self::totals($table, $where); // Nombre total d'entrées
$totalpage = ceil($totals / $pagesize); // Nombre total de pages
$page = max(1, $page); $sql = " select * from {$table}";
if ($where) {
$sql .= " WHERE ".$where;
}
if ($order) {
$sql .= " ORDER BY " .$order;
}
$sql .= " limit ".$offset.','.$pagesize;
$result = $conn- >query($sql); // Exécuter sql
if ($result->num_rows > ; 0) { // Nombre de données renvoyées
        while ($row = $result->fetch_assoc()) {                   $rows [] = $row; ;free_result(); // Libère la mémoire des résultats
}
  $conn->close();
  return array(
                                                                                                     
'taille de la page' =>

phpcn_xinyu
phpcn_xinyu

répondre à tous(4)
Alone88

Appelez db_connect deux fois, l'une est directement db_connect, la deuxième fois est totale, je ne sais pas pourquoi le professeur n'a pas fait d'erreur,

Une façon est de réécrire la méthode d'obtention du nombre total dans la méthode de pagination et assignez-le à la variable

    /**
     * @param $table
     * @param $where
     * @param $page
     * @param $num
     * @param string $order
     * @return array
     */
    public static function pagination($table, $where, $page, $num, $order=''){
        $conn =self::db_connect();
        $count=0;
        $count_sql = "SELECT count(*) as count FROM {$table}";
        if($where){
            $count_sql .=" WHERE ".self::getwhere($where);
        }
//        exit($count_sql);
        if($count_result = $conn->query($count_sql)){
            $row = $count_result->fetch_assoc();
            $count = $row['count'];
        }
        $total_page = ceil($count/$num);//总页数
        $page=max(1,$page); // 处理$page,max(min,max) 返回最大数
        $offset = ($page-1)*$num;// 每页的起始数
        // 拼接查询的SQL
        $sql = "SELECT * FROM {$table}";
        if($where){
            $sql .=' WHERE '.self::getwhere($where);
        }
        if($order){
            $sql .= " ORDER BY {$order}";
        }
        $sql .=" LIMIT {$offset} , {$num}";
        $rows=[];
        if($result = $conn->query($sql)){
            while($row = $result->fetch_assoc()){
                $rows[]=$row;
            }
            mysqli_free_result($result);
        }
        $conn->close();
        return array('total'=>$count,'page'=>$page,'num'=>$num,'total_page'=>$total_page,'lists'=>$rows);
    }


  • répondre Le principal problème est que db_connect importe la configuration de la base de données. Le deuxième appel risque de ne pas pouvoir l'appeler. S'il n'est pas utilisé, la définition de la configuration de la base de données directement dans db_connect ne posera pas ce problème.
    Alone88 auteur 2019-04-10 08:13:56
  • répondre Vous pouvez également modifier require_once en require
    Alone88 auteur 2019-04-10 08:17:29
振远

跟我的一样的问题
Avis : Variable non définie : db dans D:xuexicoredb.php en ligne 18

Avis : Variable non définie : db dans D:xuexicoredb.php en ligne 18

Avis : Variable non définie : db dans D :xuexicoredb.php en ligne 18

Avis : Variable non définie : db dans D:xuexicoredb.php en ligne 18

Attention : mysqli_connect() : (HY000/1045) : Accès refusé pour l'utilisateur ''@'localhost' (en utilisant mot de passe : NON) dans D:xuexicoredb.php en ligne 18
Échec de la connexion : accès refusé pour l'utilisateur ''@'localhost' (en utilisant le mot de passe : NON)

、馬

Hésitant

无忌哥哥

Le mot de passe de la base de données est erroné.

  • répondre Pensez-y
    、馬 auteur 2018-07-11 09:41:59
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!