2011-06-16 55 views
3

我是准备好的语句的新手,并试图让一些简单的工作。PHP:在准备好的语句中获取插入确认

这是我的数据库表:

`unblocker_users` (
    `uno` bigint(20) NOT NULL AUTO_INCREMENT, 
    `user_email` varchar(210) DEFAULT NULL, 
    `pw_hash` varchar(30) DEFAULT NULL, 
    `email_confirmed` tinyint(4) DEFAULT NULL, 
    `total_requests` bigint(20) DEFAULT NULL, 
    `today_date` date DEFAULT NULL, 
    `accessed_today` tinyint(4) DEFAULT NULL,) 

,这是我的函数中插入一些测试数据

function add_new_user($e_mail1) 
    { 
    require_once "db.php"; 

$stmt = $mysqli->prepare("INSERT INTO unblocker_users VALUES ('',?, ?,0,0,?,0)"); 
$stmt->bind_param('sss', $e_mail1, $this->genRandomString(1),$this->today_date()); 

$stmt->execute(); 

$stmt->close(); 
// ####### Below line is giving an error ######## 
$done = $stmt->affected_rows; 

return $done; 
    } 

正如你可以在上面看到,我都标志着是给我一个行错误。

Warning: unblocker_class::add_new_user() [unblocker-class.add-new-user]: Property access is not allowed yet in... 

我哪里出错了? 我怎样才能得到某种确认已成功插入一行?

谢谢!

回答

5

之前,你要访问其受影响的行

$done = $stmt->affected_rows; 
$stmt->close(); 

return $done; 
+0

你丫关闭准备好的声明中,这样一个新手的错误...谢谢!将在几分钟内接受你的答案。 – Ryan 2011-06-16 14:45:34

+0

很高兴我能帮忙:) – 2011-06-17 09:01:56