php sprintf()函数让你的sql操作更安全

  作者:bea

$bookSQL=sprintf("UPDATEbookSETpass=%sWHEREid=%d", GetSQLValueString($_POST['list'],"text"), GetSQLValueString($_GET['id'],"int")); GetSQLValueString这个函数,可以换成别的函数 但在sql语句这里用上sprintf()这个函数的话!就相对安全多了,比如id那里我们可以用上%d 或是有很多sql操作的时候,用上这个 $Result=
$bookSQL=sprintf("UPDATE book SET pass=%s WHERE id=%d",                               GetSQLValueString($_POST['list'], "text"),                               GetSQLValueString($_GET['id'],"int")); GetSQLValueString 这个函数,可以换成别的函数 但在sql语句这里用上sprintf()这个函数的话!就相对安全多了,比如id那里我们可以用上%d 或是有很多sql操作的时候,用上这个 $Result = $db->query($bookSQL) or die(mysql_error()); 下面加上sprintf这个函数的说明: 引用 sprintf 将字符串格式化。 语法: string sprintf(string format, mixed [args]...); 返回值: 字符串 函数种类: 资料处理 内容说明 本函数用来将字符串格式化。参数 format 是转换的格式,以百分比符号 % 开始到转换字符为止。而在转换的格式间依序包括了 填空字符。0 的话表示空格填 0;空格是默认值,表示空格就放着。 对齐方式。默认值为向右对齐,负号表向左对齐。 字段宽度。为最小宽度。 精确度。指在小数点后的浮点数位数。 类型,见下表 % 印出百分比符号,不转换。 b 整数转成二进位。 c 整数转成对应的 ASCII 字符。 d 整数转成十进位。 f 倍精确度数字转成浮点数。 o 整数转成八进位。 s 整数转成字符串。 x 整数转成小写十六进位。 X 整数转成大写十六进位。 


有用  |  无用

猜你喜欢