这可能是一个愚蠢的问题,但我可能藏汉因为它:)PHP强制VAR有一定类型
是有没有去强行
$tel1 = '05';// string
settype($tel1,'string');
$tel1 = 06;//either throw error, or convert it to string automatically.
var_dump($tel1);//(string [2]) 05
上面的代码的顶部我的头可能不准确,但我需要保留一个变量作为字符串不是数字,因为我做了一些愚蠢的事情,现在我的电话号码丢失了前导0 :-(
n我不能重写这是因为它会混淆其他数字类型,b4请问这是一个自动化服务,让db检查它是否是数字埃里克值与否,
UPDATE 这是问题
function escape($str){
if(is_numeric($str)){
return $str;
}else{
return "'".mysql_real_escape_string($str).'\'';
}
}
$tel1 = "06";
$sql = 'SELECT * FROM blabla WHERE id = '.escape($tel1).'';
//above is same as below
$sql = 'SELECT * FROM blabla WHERE id = 06 ';
因为其他inputes thruout的网站正在使用这个功能,我不能改变的景观功能中做任何事,我不想惹他们的验证。
铸字/类型戏法。 '(int)$ tel1'或者'(string)$ tel1' http://php.net/manual/en/language.types.type-juggling.php – James 2011-05-04 14:33:36