這是更快於:這是更快的mysqli_prepare或mysqli_query?
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();
使用準備和要發送到MySQL數據庫更請求,這將需要更多的時間綁定PARAM時,因爲有更多的請求,每個請求都有它的連接時間。
如果mysql數據庫不在本地主機服務器中,則爲true。
這句話是否正確? 謝謝
不完全正確的,沒有....和mysqli接口是足夠聰明,只發送綁定PARAM值到數據庫服務器一次,在exeute就我所知...而言,性能(即使是遠程數據庫服務器)的性能差異達到納秒級不應被認爲比正確保護代碼更重要.....尤其是可以使用相同的預準備語句反覆使用不同的綁定值,這使得在這種情況下更快 –
並且您應該已經連接到數據庫,所以'prepare()'/'bind()'/'execute()' (或確實在'query()') –
@MarkBake r謝謝你的迴應,是的,這是沒有更多的連接。但準備語句將發送請求到數據庫,我指的是這個請求時間。 – david