php - 同一页面上的准备语句和 mysqli_query

标签 php mysqli

我正在使用 mysqli 预处理语句

$email=$_POST['email'];
$password=$_POST['password'];


$sql="SELECT * from users where email=? and password=?";
$result=$db->prepare($sql);
$result->bind_param('ss',$email,$password);
$result->execute();

由于帖子值来自用户,我遵循此方法但是例如..我想像所有用户一样从数据库中获取一些东西

SELECT * from users where active=1
  1. 我应该在这里也使用准备好的语句还是简单的 $db->query(//code);会好吗?
  2. 我不应该在同一个页面中混合使用简单的 mysqli 查询和准备好的语句吗?

最佳答案

最好尽可能使用准备好的语句。如果您的应用程序会增长,您将不得不用用户输入替换硬编码变量怎么办?

实际上为此使用 ORM 更好,因为它让您可以在需要时重复使用准备好的查询。即使您不准备它们,ORM 也会鼓励您编写这样的方法:

getActiveUsers()

而不是每次都写查询。

了解 SOLID原则和 DRY规则以获取更多信息。

关于php - 同一页面上的准备语句和 mysqli_query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844112/

相关文章:

php - CodeIgniter 多数据库查询

php - 提交时运行多个 SQL UPDATE 语句

php - 如何在 MySQLi 中插入准备好的语句

php - ALTER TABLE 表 AUTO_INCREMENT = $x

php - 如何在 PHP 中验证 DNSSEC?

php - 使用 PHP 将数据排序为多维分层数组

来自循环的 php mysql 查询 - 确定哪些表行不在循环中

php - 无法连接到本地主机mysql数据库

php - 在 CakePHP 树中查找子树

php - 登录系统中 undefined variable session