<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[php sprintf()函数让你的sql操作更安全,printf直接输出，注意区别。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 14 Mar 2010 10:53:06 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	PHP手册 ：<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
$num = 5;
$location = &#039;tree&#039;;

$format = &#039;There are %d monkeys in the %s&#039;;
printf($format, $num, $location);
?&gt;
</textarea><br/>There are 5 monkeys in the tree<br/><br/>本函数用来将字符串格式化。参数 format 是转换的格式，以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了<br/><br/>　　$bookSQL=sprintf(&quot;UPDATE book SET pass=%s WHERE id=%d&quot;,<br/><br/>　　GetSQLValueString($_POST[&#039;list&#039;], &quot;text&quot;),<br/><br/>　　GetSQLValueString($_GET[&#039;id&#039;],&quot;int&quot;));<br/><br/>　　GetSQLValueString 这个函数，可以换成别的函数<br/><br/>　　但在sql语句这里用上sprintf()这个函数的话!就相对安全多了，比如id那里我们可以用上%d<br/><br/>　　或是有很多sql操作的时候，用上这个<br/><br/>　　$Result = $db-&gt;query($bookSQL) or die(mysql_error());<br/><br/>　　下面加上sprintf这个函数的说明:<br/><br/>　　引用<br/><br/>　　sprintf<br/><br/>　　将字符串格式化。<br/><br/>　　语法: string sprintf(string format, mixed [args]...);<br/><br/>　　返回值: 字符串<br/><br/>　　函数种类: 资料处理<br/><br/>　　内容说明<br/><br/>　　本函数用来将字符串格式化。参数 format 是转换的格式，以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了<br/><br/>　　填空字符。0 的话表示空格填 0;空格是默认值，表示空格就放着。<br/><br/>　　对齐方式。默认值为向右对齐，负号表向左对齐。<br/><br/>　　字段宽度。为最小宽度。<br/><br/>　　精确度。指在小数点后的浮点数位数。<br/><br/>　　类型，见下表 % 印出百分比符号，不转换。<br/><br/>　　b 整数转成二进位。<br/><br/>　　c 整数转成对应的 ASCII 字符。<br/><br/>　　d 整数转成十进位。<br/><br/>　　f 倍精确度数字转成浮点数。<br/><br/>　　o 整数转成八进位。<br/><br/>　　s 整数转成字符串。<br/><br/>　　x 整数转成小写十六进位。<br/><br/>　　X 整数转成大写十六进位。<br/><br/>printf直接输出，注意区别：<br/>sprintf：<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
$upStrOut = &quot;&lt;Result&gt;&lt;Status&gt;%d&lt;/Status&gt;&lt;Error&gt;&lt;Id&gt;%s&lt;/Id&gt;&lt;Description&gt;%s&lt;/Description&gt;&lt;/Error&gt;&lt;/Result&gt;&quot;;
$status = 2;
$id = &quot;&quot;;
$description = &quot;&quot;;
$outStr = sprintf($upStrOut, $status,$id,$description);
echo $outStr;
?&gt;
</textarea><br/>---------- 调试PHP ----------<br/>&lt;Result&gt;&lt;Status&gt;2&lt;/Status&gt;&lt;Error&gt;&lt;Id&gt;&lt;/Id&gt;&lt;Description&gt;&lt;/Description&gt;&lt;/Error&gt;&lt;/Result&gt;<br/>输出完成 (耗时 0 秒) - 正常终止<br/><br/>printf：<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
$upStrOut = &quot;&lt;Result&gt;&lt;Status&gt;%d&lt;/Status&gt;&lt;Error&gt;&lt;Id&gt;%s&lt;/Id&gt;&lt;Description&gt;%s&lt;/Description&gt;&lt;/Error&gt;&lt;/Result&gt;&quot;;
$status = 2;
$id = &quot;&quot;;
$description = &quot;&quot;;
echo $outStr = printf($upStrOut, $status,$id,$description);

?&gt;
</textarea><br/><br/>---------- 调试PHP ----------<br/>&lt;Result&gt;&lt;Status&gt;2&lt;/Status&gt;&lt;Error&gt;&lt;Id&gt;&lt;/Id&gt;&lt;Description&gt;&lt;/Description&gt;&lt;/Error&gt;&lt;/Result&gt;86<br/>输出完成 (耗时 0 秒) - 正常终止<br/><br/>86，是输出了$outStr的长度。<br/>echo $outStr;&nbsp;&nbsp;//86<br/>printf($upStrOut, $status,$id,$description); //&lt;Result&gt;&lt;Status&gt;2&lt;/Status&gt;&lt;Error&gt;&lt;Id&gt;&lt;/Id&gt;&lt;Description&gt;&lt;/Description&gt;&lt;/Error&gt;&lt;/Result&gt;
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] php sprintf()函数让你的sql操作更安全,printf直接输出，注意区别。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>