【发布时间】:2014-12-21 20:05:46
【问题描述】:
我是PHP 和PDO 的初学者。
下面的代码可以工作,但是非常非常慢。有什么办法可以提高效率吗?
while() 效率不高,但确实有效。我尝试了其他解决方案,但没有任何效果。
有什么建议吗?
public function register_new_member(){
global $bcrypt;
global $populera;
$query = $this->db->prepare("SELECT id, lid, firstname, surname FROM `members`");
try{
$query->execute();
while ($data = $query->fetch()){
$id = $data['id'];
$lid = $data['lid'];
$username = $populera->create_username($data['firstname'],$data['surname']);
//Show data
echo "<br>Username: ".$username;
echo "<br>ID: ".$id;
echo "<br>LID: ".$lid;
//Static password - change after login
$password = "password";
//Bcrypt
$pass = $bcrypt->generateHash($password);
//Show data
echo "<br>Password: ".$pass;
$query2 = $this->db->prepare("INSERT INTO `login` (`id`, `lid`, `user`, `password`) VALUES (?, ?, ?, ?) ");
$query2->bindValue(1, $id);
$query2->bindValue(2, $lid);
$query2->bindValue(3, $username);
$query2->bindValue(4, $pass);
$query2->execute();
}
//Success?
echo "<br>Saved!";
}catch(PDOException $e){
die($e->getMessage());
}
}
【问题讨论】:
-
添加断点以检查哪些操作花费的时间最多
-
这个问题可能更适合codereview.stackexchange.com