我正在使用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
答案 0 :(得分:2)
如果查询是静态的(没有动态变量),就像你写的那样,
你可以使用简单的mysqli::query
我假设您在单个.php文件中的“在同一页面中”;那样做完全没有问题。记住,PHP解析器会将所有php脚本(当你包含/ require ...时)附加在一起,然后解析它们。
答案 1 :(得分:2)
你是否混合两者真的是一个偏好的问题。在这种情况下,我会说它并没有真正发挥那么大的作用。
预准备语句与普通查询之间存在性能差异。作为查询,您的第一个查询会更慢(假设您通过mysqli_real_escape_string
运行输入,这必须与数据库服务器通信)。但是,由于第二个没有输入,因此将其作为预处理语句会将执行分解为准备和执行,并产生一些开销。当它是一个查询时,你只执行一次不从你的脚本外部输入,query
更快,更轻微(我怀疑你的速度需求是如此,它确实有所不同)。
我确实想知道为什么你会得到所有活跃的用户,而不是过滤掉你想要的那个,但是没有足够的信息说这不是你应该做的。如果您最终只是循环查看这些结果并抓住您感兴趣的几个,那么最好将此标准放在WHERE
子句中。
答案 2 :(得分:2)