Php 编写PDO查询的安全方法

Php 编写PDO查询的安全方法,php,mysql,pdo,Php,Mysql,Pdo,这两种方法中哪一种是编写查询的安全方法 $stmt = $pdo->prepare("UPDATE tableName SET fieldName = 0"); 或 我知道第二种方法是最好的,每当我在bindValue中使用$variable时,我都会使用它。但是在这里,我需要使用一个已知的整数0。因此,第一个过程似乎更容易,因为我不必编写另一个bindValue语句。但是,它安全吗?看看你的问题,我想说你一定会从我写的文章中受益,其中写道: 在PDO中运行查询有两种方法。如果查询中不使

这两种方法中哪一种是编写查询的安全方法

$stmt = $pdo->prepare("UPDATE tableName SET fieldName = 0");


我知道第二种方法是最好的,每当我在
bindValue
中使用
$variable
时,我都会使用它。但是在这里,我需要使用一个已知的整数
0
。因此,第一个过程似乎更容易,因为我不必编写另一个
bindValue
语句。但是,它安全吗?

看看你的问题,我想说你一定会从我写的文章中受益,其中写道:

在PDO中运行查询有两种方法。如果查询中不使用变量,可以使用
PDO::query()
方法

如果查询中至少要使用一个变量,则必须将其替换为占位符,然后准备查询,然后执行查询,分别传递变量

现在您可以知道,对于这个特定的查询,您可以使用
query()
方法,而不是prepare/execute

$stmt = $pdo->query("UPDATE tableName SET fieldName = 0");

由于没有要使用的变量,这一点也不危险

这将非常有用,如果值是常量,则第一个语句是安全的@Jens?如果值是常量,则可以将其包含在查询中也可以确定吗@卡尔扬
$stmt = $pdo->query("UPDATE tableName SET fieldName = 0");