Rumah >pangkalan data >tutorial mysql >Mengapa Skrip PHP Saya Terhenti Sebelum Mencipta file4.txt?
Masalah:
Dalam skrip PHP, pelaksanaan dihentikan sebelum sesuatu bahagian kod, khususnya tempat fail (file4.txt) sepatutnya dibuat. Tingkah laku ini ditemui semasa menyahpepijat skrip.
Punca Kemungkinan:
Mesej ralat "status jadual tidak diketahui: TABLE_TYPE" mencadangkan isu dengan pertanyaan pangkalan data. Ini boleh berlaku jika sambungan pangkalan data tidak diwujudkan dengan betul, atau jika jadual yang dirujuk tidak wujud atau tidak boleh diakses.
Penyelesaian:
Untuk menangani isu ini, pertimbangkan langkah berikut:
1. Bahagi dan Takluk:
Pecahkan skrip kepada bahagian yang lebih kecil untuk mengenal pasti segmen yang bermasalah.
2. Utiliti Manipulasi Fail:
Buat fungsi berasingan (cth., file_put) untuk mengendalikan operasi fail, membolehkan pengubahsuaian dan penyahpepijatan lebih mudah.
3. Pengurusan Pangkalan Data yang Diperbaiki:
Alihkan operasi berkaitan MySQL ke dalam kelas berasingan untuk mengasingkan kerumitan. Ini boleh meningkatkan kebolehbacaan dan pengendalian ralat.
4. Pengendalian Ralat Komprehensif:
Pastikan mesej ralat ditangkap dan dipaparkan dengan jelas, memberikan cerapan tentang punca sebarang isu.
5. Pertanyaan Pangkalan Data Ringkas:
Tulis semula pertanyaan kompleks yang mengambil data daripada jadual 'Log' sebagai pernyataan yang lebih ringkas dan lebih mudah.
Demonstrasi Terperinci:
Kod berikut ialah versi skrip asal yang dipertingkatkan:
// 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);
Atas ialah kandungan terperinci Mengapa Skrip PHP Saya Terhenti Sebelum Mencipta file4.txt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!