Mysql入门系列:需要避免的MYSQL客户机程序设计错误
2006-12-31 10:50:16 来源:WEB开发网核心提示: 如果从自己的客户机上执行同样的查询,可以得到相同的信息(没有边框),Mysql入门系列:需要避免的MYSQL客户机程序设计错误(5),如果只想要单个列的信息,则使用如下这个查询: SHOW FIELDS FROM tbl _ name LIKE “col _ name&rdq
如果从自己的客户机上执行同样的查询,可以得到相同的信息(没有边框)。如果只想要单个列的信息,则使用如下这个查询:
SHOW FIELDS FROM tbl _ name LIKE “col _ name”
此查询会返回相同的列,但只是一行(如果列不存在就不返回行)。
6.8.5 需要避免的客户机程序设计错误
本节讨论一些常见的MySQLC API 程序设计错误,以及如何避免其发生(这些问题在MySQL邮件清单中会周期性地突然出现)。
1. 错误1——使用未初始化的连接处理程序指针在本章的样例中,我们已经通过传递NULL 参数调用了mysql_ i n i t ( ),这就是让它分配并且初始化MYSQL 结构,然后返回一个指针。另外一种方法是将指针传递到一个已有的MYSQL 结构中。在这种情况下, mysql_init() 会将结构初始化并返回一个指针,而不必自己分配结构。如果要使用第二种方法,则要小心会出现一些微妙的问题。下面的讨论指出了需要注意的一些问题。如果将一个指针传递给mysql_ init( ),它应该实际指向某些东西。看下面的代码段:
这个问题是,mysql_init() 得到了一个指针,但指针没有指向所知的任何地方。conn 是一个局部变量,因此在main() 开始执行时它是一个能指向任何地方的未初始化的存储器,这就是说mysql_init() 将使用指针,并可在内存的一些任意区域滥写。如果幸运的话, conn 将指向您的程序地址空间的外部,这样,系统将立即终止,使您能尽早意识到代码中出现的问题。
更多精彩
赞助商链接