⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mysql-实用技巧-42.htm

📁 微软数据库开发梦工场多媒体教学-My sql篇.rar
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#000000" text="#FFFFFF">
mysql_escape_string()
<p>unsigned int mysql_escape_string(char *to, const char *from, unsigned int length) 
</p>
<p>说明</p>
<p>把在from中的字符串编码为在一条SQL语句中可以发给服务器的转义的SQL字符串,将结果放在to中, 并且加上一个终止的空字节。编码的字符是NUL(ASCII 
  0)、‘\n’、‘\r’、‘\’、‘'’、‘&quot;’和Control-Z。</p>
<p>由from指向的字符串必须是length个字节长。你必须分配to的缓冲区至少length*2+1个字节长。(在更坏的情况,每个字符可能需要使用2个字节被编码,并且你需要为终止空字节的空间) 
  当mysql_escape_string()返回时,to的内容将是空字符终止的字符串。返回值是编码后的字符串的长度,不包括终止空字符。 </p>
<p>范例</p>
<p>char query[1000],*end;</p>
<p> </p>
<p>end = strmov(query,&quot;INSERT INTO test_table values(&quot;);</p>
<p>*end++ = '\'';</p>
<p>end += mysql_escape_string(end,&quot;What's this&quot;,11);</p>
<p>*end++ = '\'';</p>
<p>*end++ = ',';</p>
<p>*end++ = '\'';</p>
<p>end += mysql_escape_string(end,&quot;binary data: \0\r\n&quot;,16);</p>
<p>*end++ = '\'';</p>
<p>*end++ = ')';</p>
<p> </p>
<p>if (mysql_real_query(&amp;mysql,query,(unsigned int) (end - query)))</p>
<p>{</p>
<p> fprintf(stderr, &quot;Failed to insert row, Error: %s\n&quot;,</p>
<p> mysql_error(&amp;mysql));</p>
<p>}</p>
<p>例子中所用的strmov()函数被包括在mysqlclient库中且功能类似于strcpy(),但是返回一个指向空终止的第一个参数的指针。 </p>
<p>20.4.13.3 返回值</p>
<p>放进to的值的长度,不包括终止空字符。</p>
<p>20.4.13.4 错误</p>
<p>无。</p>
<p> </p>
<p>mysql_fetch_field()</p>
<p>MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result) </p>
<p>说明</p>
<p>返回作为一个MYSQL_FIELD结构的一个结果集合的一个列的定义。重复调用这个函数在结果集合中检索所有关于列的信息。当没有剩下更多的字段时,mysql_fetch_field()返回NULL。</p>
<p>在每次你执行一个新的SELECT查询,mysql_fetch_field()被重置(reset)以返回有关第一列的信息。由mysql_fetch_field()返回的字段也受调用mysql_field_seek()的影响。</p>
<p>如果你调用mysql_query()在一张表上执行一个SELECT,但是没调用mysql_store_result(),如果你调用mysql_fetch_field()询问一个BLOB字段的长度,MySQL返回缺省BLOB长度(8K字节)。(选择8K的长度是因为MySQL不知道BLOB的最大长度。这应该在某个时候是它可配置) 
  一旦你已经检索了结果集合,field-&gt;max_length包含了在特定查询中对于该列最大值的长度。</p>
<p>返回值</p>
<p>当前列的MYSQL_FIELD结构。如果没有列剩下,NULL。</p>
<p>错误</p>
<p>无。</p>
<p>范例</p>
<p>MYSQL_FIELD *field;</p>
<p> </p>
<p>while((field = mysql_fetch_field(result)))</p>
<p>{</p>
<p> printf(&quot;field name %s\n&quot;, field-&gt;name);</p>
<p>}</p>
<p> </p>
<p> <br>
</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -