Php 查询示例-sql注入是否安全?

Php 查询示例-sql注入是否安全?,php,sql-injection,Php,Sql Injection,我有一个简短的问题-下面的代码在任何版本的PHP中都易受sql注入攻击吗 $A = $_GET['A']; $B = 10; $q = "SELECT 1 FROM user WHERE name = 'admin' LIMIT ".($A*$B).",$B"; $res = mysql_query($q); ... 我在我的客户网站上看到了这样的代码,让我想。。。但是找不到任何攻击向量:< p>这是SQL安全的,因为变量$a被整数B $乘,但是,所有get变量存储字符串值,所以将$A类型化为

我有一个简短的问题-下面的代码在任何版本的PHP中都易受sql注入攻击吗

$A = $_GET['A'];
$B = 10;
$q = "SELECT 1 FROM user WHERE name = 'admin' LIMIT ".($A*$B).",$B";
$res = mysql_query($q);
...

我在我的客户网站上看到了这样的代码,让我想。。。但是找不到任何攻击向量:

< p>这是SQL安全的,因为变量$a被整数B $乘,但是,所有get变量存储字符串值,所以将$A类型化为整数是明智的,例如:

$A = intval($_GET['A']);


您还应该切换到方法
mysqli\u query()
,因为
mysql\u query()
已被弃用。

这是安全的,只有
$A
来自用户,它在请求中乘以
$B
,而不是在本例中。由于您使用的是
mysql\uquot.*
如果您在某个地方没有注射,那将令人惊讶。您不应该使用mysql,建议使用mysqli或PDO。。。。或者
$A=(int)$\u GET['A']这不是他自己的代码,他说他在一个客户的网站上看到了。@Barmar好吧,他的客户也是这样:DGuys,我知道应该怎么做,只是想知道这个特定的例子是否安全:)谢谢你的帮助!
$A = (int) $_GET['A'];