更快:
1
$name = $sql->real_escape_string($_POST['name']);
$age = $sql->real_escape_string($_POST['age']);
$email = $sql->real_escape_string($_POST['email']);
$query = "INSERT INTO `tablename` VALUES ('$name','$age','$email');";
$sql->query($query) or die($query.'<br />'.$sql->error);
2
$name = $_POST['name'];
$age = $_POST['age'];
$email = $_POST['email'];
$query = $sql->prepare("INSERT INTO `tablename` VALUES ('?','?','?');");
$query->bind_param("sis",$name,$age,$email);
$query->execute();
当使用prepare和bind param时,你向mysql数据库发送更多的请求,这需要更多的时间,因为有更多的请求,每个请求都有它的连接时间。
如果mysql数据库不在localhost服务器中,则为true。
这句话是否正确? 感谢
答案 0 :(得分:0)
在sql中使用预准备语句的实际目的是降低处理查询的成本;不要将数据与查询分开。这就是它现在如何被使用,而不是如何被设计为首先使用它。使用SQL,您可以通过使用预准备语句来降低执行多个类似查询的成本。这样做会减少解析,验证并且通常会预先为所述查询生成执行计划。这就是为什么他们在循环中运行得比他们的IMMEDIATE Query堂兄弟那样快。不要以为只是因为某人使用php并且这种方式这种方式并不意味着它是方式,或者只是这样做的方式。虽然它比一般查询更安全,但它们在他们可以做的事情上更受限制,或者更准确地说是如何去做。
我认为以下参考链接对您有用: http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059