在我的第一个PHP站点上工作(我主要是一个ASP程序员),我需要将一个querystring变量转换为一个我可以用来查询数据库的数字。转换为可用int的最佳方法是什么(我已经尝试了intval()但是我一直得到0
)并在PHP中验证它(AKA没有单引号,等等)?
答案 0 :(得分:1)
PHP允许类型比ASP更灵活,并且将自动在不同类型之间进行转换。
确保SQL中的数字的最佳方法是使用sprintf()
,例如:
$sql = "SELECT name FROM users WHERE id = ".sprintf("%d", $_POST['userid']) ;
当将通过GET或POST传递的字符串插入SQL时,您应该使用mysql_real_escape_string()
(假设您的SQL将使用MySQL)来逃避任何需要转义的内容,因此:
$sql = "SELECT id FROM users where name = ".sprintf("'%s'", mysql_real_escape_string($_GET['username'])) ;
答案 1 :(得分:0)
您可能正在尝试读取PHP脚本的输入参数 - 我建议使用
$_POST $_GET
数组,因为它们包含已解析的所有信息。