2011-06-16 90 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