我刚开始使用 Php 数据对象,我不确定的一件事是我是否必须在查询中使用某个变量之前验证它是否为整数。例如,像这样:
$id = (int)$_POST['id']; // is this required
$query = $pdo->prepare("SELECT * FROM `articles` WHERE `id` = ?");
$query->bindValue(1, $id);
$query->execute();
我刚开始使用 Php 数据对象,我不确定的一件事是我是否必须在查询中使用某个变量之前验证它是否为整数。例如,像这样:
$id = (int)$_POST['id']; // is this required
$query = $pdo->prepare("SELECT * FROM `articles` WHERE `id` = ?");
$query->bindValue(1, $id);
$query->execute();
不,它不是必需的,原因有两个:
您让 PDO 知道您将在数据库中查询列 ID。PDO 不会解析$_POST['id']
.
的第二个值bindValue
自动转换为字符串(或您可能想要选择的任何类型)。这里 int $data_type = PDO::PARAM_STR