Une explication de la façon dont PHP effectue les opérations de base de données, empêche les délais d'attente des pages et actualise automatiquement les pages.

韦小宝
Libérer: 2023-03-20 16:20:01
original
2974 Les gens l'ont consulté

Il est très courant d'utiliser la base de données dans le développement PHP. Si nous restons longtemps sur une page sans fonctionner, il y aura des invites ou des erreurs, je pense que tout le monde l'a rencontré. Nous allons donc parler aujourd'hui de la façon de le faire. exploitez la base de données. Agissez et évitez les délais d'attente des pages !

Remarque :

Lors de l'initialisation ou de la modification de la base de données :
1. Utilisez simplement les instructions SQL directement Terminer.
2. Un peu plus compliqué, cela peut être complété en exécutant du code php (lire les données puis écrire/modifier les données).

Lors de l'utilisation de code php (pas de ligne de commande), nous pouvons rencontrer un délai d'attente de page Web. Il existe généralement trois solutions :
1. Définir php.ini :

max_execution_time
Copier après la connexion

2. Ajoutez le code :

set_time_limit(0);  
//0表示不超时
Copier après la connexion

3. La page s'actualise automatiquement et termine l'ensemble du travail par lots : La page peut changer avec le processus d'exécution, par exemple, elle peut indiquer dynamiquement à l'utilisateur jusqu'où elle a été exécutée, au lieu d'attendre une seule page.
Ce qui suit résume principalement la troisième méthode.

La page s'actualise automatiquement :

Actualisation de la page<==>La page saute et arrête de sauter lorsqu'une certaine condition est remplie.

Saut de page : sortie des balises méta pour implémenter

if ($flag) {
    //跳转页面,xxx为该php文件的文件名
    echo &#39;<meta http-equiv="refresh" content="0;url=xxx.php?">&#39;;
} else {
    //刷新停止
}
Copier après la connexion

rafraîchissement tout en passant des paramètres pour contrôler les opérations de la base de données :

Dans la méta-URL, nous pouvons utiliser Get méthode pour passer un paramètre.

Ce paramètre peut être utilisé pour modifier la limite de l'instruction SQL pour implémenter une partie de la fonction à chaque fois.

$page = isset($_GET[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 0;
//用$page构造sql语句或其它功能
//数据库操作或其它功能
//设置$flag
$flag = $pdostatement->rowCount() == 0;  //比如数据库影响行数
//决定 跳转刷新 或 停止
if ($flag) {
    //跳转页面,xxx为该php文件的文件名
    echo &#39;<meta http-equiv="refresh" content="0;url=xxx.php?page=&#39; . ++$page . &#39;">&#39;;
} else {
    //刷新停止
}
Copier après la connexion

Supposons, +1 pour certaines données de champ, l'implémentation spécifique :

Je ne suis pas très familier avec SQL maintenant.

S'il ne s'agit que d'une limite limite, il peut arriver que les données qui ont été interrogées soient à nouveau interrogées et exécutées une seconde fois ?
Personnellement, je pense qu'il est préférable d'ajouter l'ordre de la clé primaire par

<meta charset="UTF-8">
<?php
$page = isset($_GET[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 0;
$step = 50;  //每次刷新更新 50条数据
$limit_start = $page * 50;

$dsn = "mysql:host=localhost;dbname=db_name";
try {
    $pdo = new PDO($dsn, "root", "123456");
    $sql = <<<SQL
SELECT col_num, col_id
FROM table_name
ORDER by col_id
LIMIT {$limit_start},{$step}
SQL;
    $pdostatement = $pdo->prepare($sql);
    $pdostatement->execute();
    $pdostatement->setFetchMode(PDO::FETCH_NUM);
    $num = $pdostatement->rowCount();

    if ($num == 0) {
        echo "sql执行完毕";
    } else {
        echo "正在执行sql<br>";

        $sql_update = "UPDATE table_name ";
        while (list($col_num, $col_id) = $pdostatement->fetch(PDO::FETCH_NUM)) {
            $col_name++;
            $sql_update .= <<<SQL
SET col_name = "{$col_num}"
WHERE col_id = "{$col_id}" , 
SQL;
        }
        $sql_update = substr($sql_update, 0, -1);  //去掉最后的逗号
  $pdostatement_update = $pdo->prepare($sql_update);
        $pdostatement_update->execute();
        $num_update = $pdostatement_update->rowCount();
        if ($num_update == 0) {
            echo $gfc_id . "修改出错,停止更新";
        } else {
            echo &#39;<meta http-equiv="refresh" content="0;url=jianshu.php?page=&#39; . (++$page) . &#39;">&#39;;
        }
    }
} catch (PDOException $e) {
    echo "数据库连接失败" . $e->getMessage();  //连接失败,获取错误信息
  exit;
}
Copier après la connexion
Ce qui précède explique comment PHP effectue les opérations de base de données et empêche les délais d'attente des pages et actualise automatiquement la page. Ces méthodes sont dans notre. Développement PHP Ils sont tous très utiles et très durables.

Articles similaires :

Comment gérer PHP en actualisant automatiquement la page

Tutoriel de fonctionnement et de connexion à la base de données php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
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!