Rumah > Soal Jawab > teks badan
P粉2376895962023-07-26 09:52:29
Pertama sekali, anda perlu menerima hakikat bahawa jika pertanyaan anda tidak menemui sebarang baris, bermakna tiada padanan, walaupun anda boleh bersumpah bahawa data itu betul. Apabila pertanyaan tidak mengembalikan baris, tiada baris yang sepadan dengan kriteria. Oleh itu, anda perlu mengetahui sebabnya. Tetapi pertama sekali, anda perlu memastikan pertanyaan anda betul:
Masalah yang disebabkan oleh ralat SQL
Pertama, anda perlu memastikan sebenarnya tiada ralat dalam pertanyaan, kerana "tiada keputusan" mungkin bermakna terdapat ralat dalam pertanyaan itu. Sila rujuk jawapan berikut untuk butiran: pdo dan mysqli.
Masalah yang disebabkan oleh keadaan
Periksa keadaan anda. Terdapat beberapa syarat yang saling eksklusif, seperti WHERE col=1 DAN col=2. Ia tidak pernah mengembalikan sebarang baris. Cuba permudahkan syarat sehingga ia mula mengembalikan beberapa baris, kemudian tapis syarat untuk mendapatkan hasil yang anda inginkan.
Tetapi okey, tiada ralat, syaratnya betul dan anda boleh bersumpah ada data dalam jadual yang sepadan dengan pertanyaan anda. Walau bagaimanapun, masih terdapat beberapa perangkap:
Pertama, apabila pembolehubah terlibat, pastikan pembolehubah itu wujud dan sebenarnya mengandungi beberapa nilai.
Kemudian semak nilai itu sendiri. Mungkin terdapat beberapa aksara yang ditukar atau tidak boleh dicetak dalam data input (atau pangkalan data). Sebagai contoh, pemisah baris atau simbol yang dikodkan khas, atau aksara tertentu seperti < dan > Akibatnya, pertanyaan untuk teks yang mengandungi <abc@abcs.com> tidak akan sepadan dengan teks <abc@abcs.com>. Anda boleh melakukan semakan pantas menggunakan fungsi rawurlencode(), yang akan menukar semua aksara bukan Latin kepada kod, menjadikannya kelihatan.
Masalahnya ialah ini hanyalah tekaan dan tiada siapa yang boleh memberitahu anda apa masalah sebenar kerana ia adalah pangkalan data anda, data input anda dan hanya anda yang boleh menemui masalahnya.
< <Saya menulis artikel yang menerangkan cara menyahpepijat isu PDO anda.
Untuk nyahpepijat isu khusus anda perlukan:
Satu lagi masalah biasa ialah apabila anda mempunyai berbilang pangkalan data dan menyambung ke pangkalan data yang salah, yang tidak mempunyai data yang diminta. Soalan ini serupa dengan soalan sebelumnya, jadi ikuti langkah yang sama, kecuali anda menyemak baris data daripada menyemak senarai jadual.
Ini adalah kes yang jarang berlaku tetapi hanya untuk memastikan, ikuti ini Jawapan yang bagus