所以我正在使用 PDO 来尝试防止 SQL 注入。
我的问题是我应该在使用之前检查/验证我的数据库信息吗?
例如:
$stmt = $pdo -> prepare(SELECT userID FROM user, comment WHERE userNumber ='1' AND user.userName = comment.UserName");
我认为我有的选择是:
1)我在将所有输入插入数据库之前验证所有输入,因此我不必检查 user.userName 是否是可以注入代码的字符串。
2) 我应该参数化从数据库中获取的数据。还不确定,但类似:
$stmt->bindValue(':comment.UserName', comment.UserName, PDO::PARAM_STR);
3) 验证并仍然参数化。
*即时查询