WEB开发网
开发学院数据库MySQL Mysql入门系列:如何处理MYSQL查询 阅读

Mysql入门系列:如何处理MYSQL查询

 2006-12-31 10:51:22 来源:WEB开发网   
核心提示:6.6 处理查询我们已经知道了如何开始和结束与服务器的会话,现在应该看看如何控制会话,Mysql入门系列:如何处理MYSQL查询,本节介绍了如何与服务器通信以处理查询,执行的每个查询应包括以下几步:1) 构造查询,如引号、反斜线等,就需要使用这个操作,查询的构造取决于查询的内容—特别要看是否含有二进制数据,

6.6 处理查询

我们已经知道了如何开始和结束与服务器的会话,现在应该看看如何控制会话。本节介绍了如何与服务器通信以处理查询。执行的每个查询应包括以下几步:

1) 构造查询。查询的构造取决于查询的内容—特别要看是否含有二进制数据。

2) 通过将查询发送到服务器执行来发布查询。

3) 处理查询结果。这取决于发布查询的类型。例如, SELECT 语句返回数据行等待处理,INSERT 语句就不这样。构造查询的一个要素就是使用哪个函数将查询发送到服务器。较通用的发布查询例程是mysql_ real _ query ( )。该例程给查询提供了一个计数串(字符串加上长度)。必须了解查询串的长度,并将它们连同串本身一起传递给mysql_real_query() 。因为查询是一个计数的字符串,

所以它的内容可能是任何东西,其中包括二进制数据或者空字节。查询不能是空终结串。另一个发布查询的函数, mysql_ query ( ),在查询字符串允许的内容上有更多的限制,但更容易使用一些。传递到mysql_query() 的查询应该是空终结串,这说明查询内部不能含有空字节(查询里含有空字节会导致错误地中断,这比实际的查询内容要短)。一般说来,如果查询包含任意的二进制数据,就可能包含空字节,因此不要使用mysql_ query( )。另一方面,当处理空终结串时,使用熟悉的标准C 库字符串函数构造查询是很耗费资源的,例如strcpy ( )和sprintf( )。

构造查询的另一个要素就是是否要执行溢出字符的操作。如果在构造查询时使用含有二

进制数据或者其他复杂字符的值时,如引号、反斜线等,就需要使用这个操作。这些将在

6.8.2节“对查询中有疑问的数据进行编码”中讨论。

下面是处理查询的简单轮廓:

1 2 3 4 5 6  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接