Rumah pangkalan data tutorial mysql Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL

Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL

Jun 01, 2016 pm 01:55 PM
kemungkinan program

  6.3 客户机程序2―增加错误检查

  我们的第二个客户机程序将像第一个客户机程序一样,但是将修改它们,考虑错误出现的可能性。“将错误检查作为读者的练习”这样的项目在编程文献中相当常见,这或许是因为检查错误相当令人讨厌。但是,我赞同这种观点,即MySQL客户机程序应该测试错误条件

  并适当地进行回应。由于某种原因,返回状态值的客户机库的调用做这些事情,而且您要承担忽略它们的后果。您最终还是要试图捕获由于没有错误检查而出现在程序中的错误,这些程序的用户会对程序运行如此不规律感到奇怪。考虑我们的程序,客户机程序1。如何知道它是否真正连接到服务器上?可以通过查看服务器的日志,找出与运行程序时间相应的Connect和Quit事件:

Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL  

  这条消息表示根本没有创建连接。不幸的是,客户机程序1没有告诉我们出现的这些结果。实际上它不能。它不能实现任何错误检查,所以它甚至不知道自己发生了什么事。无论如何,当然不一定必须查看日志来寻找是否能连接到服务器!让我们立刻改正它。在MySQL客户机库中返回值的例程基本上以下列两种方式之一表示成功或失败:

  ■ 成功时,值的指针函数返回一个非NULL 指针,失败时返回NULL(在这里NULL 的意思是“C NULL 指针”,而不是“MySQLNULL 列值”)。迄今为止,我们使用的客户机库的例程mysql_init() 和mysql_real_connect() 都用返回连接处理程序的指针来表示成功, NULL 表示失败。

  ■ 整型数值的函数一般成功返回0,失败返回非0。不要测试特定的非0值,如- 1。因为当失败时,并不保证客户机库函数返回任何特定的值。有时,您可能会看到像如下的较旧的错误地测试返回值的代码:

Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL

  这个测试可能工作,也可能不工作。MySQLAPI 不将任何非0错误的返回指定为特定的值,而只判断它(显然地)是否为0。这个测试应该写成下面两段之一:

Mysql入门系列:MYSQL客户机程序2―增加错误检查[组图]_MySQL

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menjadikan Peta Google sebagai peta lalai dalam iPhone Bagaimana untuk menjadikan Peta Google sebagai peta lalai dalam iPhone Apr 17, 2024 pm 07:34 PM

Bagaimana untuk menjadikan Peta Google sebagai peta lalai dalam iPhone

Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler Aug 01, 2023 pm 08:43 PM

Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler

Bagaimana untuk mengisih foto mengikut wajah pada Windows 10 dan 11 Bagaimana untuk mengisih foto mengikut wajah pada Windows 10 dan 11 Aug 08, 2023 pm 10:41 PM

Bagaimana untuk mengisih foto mengikut wajah pada Windows 10 dan 11

Bagaimana untuk menulis program undur mudah dalam C++? Bagaimana untuk menulis program undur mudah dalam C++? Nov 03, 2023 pm 01:39 PM

Bagaimana untuk menulis program undur mudah dalam C++?

Apl jam tiada dalam iPhone: Cara membetulkannya Apl jam tiada dalam iPhone: Cara membetulkannya May 03, 2024 pm 09:19 PM

Apl jam tiada dalam iPhone: Cara membetulkannya

Bagaimana untuk membuka tapak web menggunakan Penjadual Tugas Bagaimana untuk membuka tapak web menggunakan Penjadual Tugas Oct 02, 2023 pm 11:13 PM

Bagaimana untuk membuka tapak web menggunakan Penjadual Tugas

Bagaimana untuk menyahpasang apl dengan cepat daripada Gedung Microsoft Bagaimana untuk menyahpasang apl dengan cepat daripada Gedung Microsoft Jul 12, 2023 pm 09:25 PM

Bagaimana untuk menyahpasang apl dengan cepat daripada Gedung Microsoft

iOS 17: Cara mengatur apl iMessage dalam Messages iOS 17: Cara mengatur apl iMessage dalam Messages Sep 18, 2023 pm 05:25 PM

iOS 17: Cara mengatur apl iMessage dalam Messages

See all articles