在PHP中将querystring转换为int

时间:2010-09-11 00:24:37

标签: php string

在我的第一个PHP站点上工作(我主要是一个ASP程序员),我需要将一个querystring变量转换为一个我可以用来查询数据库的数字。转换为可用int的最佳方法是什么(我已经尝试了intval()但是我一直得到0)并在PHP中验证它(AKA没有单引号,等等)?

2 个答案:

答案 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

数组,因为它们包含已解析的所有信息。