Problème :
Dans un script PHP, l'exécution s'arrête avant un moment particulier section de code, spécifiquement où un fichier (file4.txt) est censé être créé. Ce comportement se produit lors du débogage du script.
Causes possibles :
Le message d'erreur « Statut de table inconnu : TABLE_TYPE » suggère un problème avec la requête de base de données. Cela peut se produire si la connexion à la base de données n'est pas correctement établie, ou si une table référencée n'existe pas ou n'est pas accessible.
Solution :
Pour résoudre ce problème, considérez les étapes suivantes :
1. Diviser pour conquérir :
Divisez le script en sections plus petites pour identifier le segment problématique.
2. Utilitaire de manipulation de fichiers :
Créez une fonction distincte (par exemple, file_put) pour gérer les opérations sur les fichiers, permettant une modification et un débogage plus faciles.
3. Gestion de base de données améliorée :
Déplacez les opérations liées à MySQL dans des classes distinctes pour éliminer la complexité. Cela peut améliorer la lisibilité et la gestion des erreurs.
4. Gestion complète des erreurs :
Assurez-vous que les messages d'erreur sont capturés et affichés clairement, fournissant ainsi un aperçu de la cause de tout problème.
5. Requête de base de données simplifiée :
Réécrivez la requête complexe qui récupérait les données de la table « Journal » sous la forme d'une instruction plus simple et plus directe.
Démonstration détaillée :
Le code suivant est une version améliorée du script original :
// MySQL Exception class class MySqlException extends RuntimeException {} // MySQL Database class class MySql { ... } // MySql Result Set - Array Based class class MySqlResult implements Iterator, Countable { ... } // File manipulation function function file_put($number, $data) { ... } // Simplified checkin function function checkin(MySql $DB, $TechID, $ClientID, $SiteID) { $result1 = $DB->query("SELECT COUNT(*) FROM Log"); foreach ($result1 as $row1) { $count = $row1['COUNT(*)']; $file3 = "C:/wamp/www/file3.txt"; file_put_contents($file3, "ClientID:$ClientID TechID:$TechID SiteID:$SiteID Count:$count"); } } // Create database object and connect $config = [ ... ]; $db = new MySql($config); // Execute checkin function checkin($db, 1, 2, 3, 4);
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!