文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>MySQL字符串

MySQL字符串

时间:2008-05-26  来源:sdccf

 作者:天极软件 来源:天极软件

一个字符串是一个字符序列,由单引号(“'”)或双引号(“"”)字符(后者只有你不在ANSI模式运行)包围。例如:

'a string' "another string" 

在字符串内,某个顺序有特殊的意义。这些顺序的每一个以一条反斜线(“”)开始,称为转义字符。MySQL识别下列转义字符: 一个ASCII 0 (NUL)字符。 n 一个新行符。 t 一个定位符。 r 一个回车符。 b 一个退格符。 ' 一个单引号(“'”)符。 " 一个双引号(“"”)符。 一个反斜线(“”)符。 % 一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一个通配符。 _ 一个“_”符。它用于在正文中搜索“_”的文字实例,否则这里“_”将解释为一个通配符。

注意,如果你在某些正文环境中使用“%”或“%_”,这些将返回字符串“%”和“_”而不是“%”和“_”。

有几种方法在一个字符串内包括引号:

  • 一个字符串内用“'”加引号的“'”可以被写作为“''”。
  • 一个字符串内用“"”加引号的“"”可以被写作为“""”。
  • 你可以把一个转义字符(“”)放在引号前面。
  • 一个字符串内用“"”加引号的“'”不需要特殊对待而且不必被重复或转义。同理,一个字符串内用“'”加引号的与“"”也不需要特殊对待。

下面显示的SELECT演示引号和转义如何工作:

mysql> SELECT 'hello', '"hello"', '""hello""', 'hel''lo', ''hello'; +-------+---------+-----------+--------+--------+ | hello | "hello" | ""hello"" | hel'lo | 'hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", ""hello"; +-------+---------+-----------+--------+--------+ | hello | 'hello' | ''hello'' | hel"lo | "hello | +-------+---------+-----------+--------+--------+ mysql> SELECT "ThisnIsnFournlines"; +--------------------+ | This Is Four lines | +--------------------+ 

如果你想要把二进制数据插入到一个BLOB列,下列字符必须由转义序列表示: NUL ASCII 0。你应该用''(一个反斜线和一个ASCII '0')表示它。 ASCII 92,反斜线。用''表示。 ' ASCII 39,单引号。用“'”表示。 " ASCII 34,双引号。用“"”表示。

如果你写C代码,你可以使用C API函数mysql_escape_string()来为INSERT语句转义字符。见20.3 C API 函数概述。在 Perl中,你可以使用DBI包中的quote方法变换特殊的字符到正确的转义序列。见20.5.2 DBI接口。

你应该在任何可能包含上述任何特殊字符的字符串上使用转义函数!

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载