2014-03-05 98 views
0

我知道這將是一件簡單的事情,但這會讓我目前有點瘋狂。我需要用我的聲明更新我的日期時間列,但它不起作用。有任何想法嗎?MySQLi更新DATETIME列

$stmt = $db->prepare("UPDATE clients SET client_last_date = NOW() WHERE client_id = ?")) 
$stmt->bind_param("i", $_SESSION['client_id']); 
$stmt->execute(); 
$stmt->close(); 

我得到的錯誤是Fatal error: Call to undefined method PDOStatement::bind_param()

編輯 - 原來有使用登錄腳本IM內部矛盾的PDO對象,引起了我的錯誤。現在全部排序!

+0

定義 「不工作」 –

+0

那麼它是行不通的。頁面完全空白,數據庫字段中沒有更新 –

+0

您是否已驗證'$ _SESSION ['client_id']'的值? –

回答

0

我認爲這是寫否則PDO:

$stmt->bind_param("i", $_SESSION['client_id']); 

應該是

$stmt->bindParam(1, $_SESSION['client_id']); 

in mysqli它將是bind_param,但錯誤提到PDO。 $ DB必須爲PDO的ressource ...

的mysqli http://ca.php.net/manual/en/mysqli-stmt.bind-param.php

PDO http://www.php.net/manual/en/pdostatement.bindparam.php

+0

我沒有使用pdo,它的MySQLi –

+0

爲什麼你的錯誤認爲這是一個PDOStatement? –

+1

我想我知道爲什麼,有衝突的陳述。我知道了 –

-2

我不知道你用的是什麼數據庫...

這可能是這樣的:

"UPDATE clients SET client_last_date = (select sysdate from dual) WHERE client_id = ?"

+0

對不起,我不遵循這個? –

+0

感謝您的參與,但不是。 –

+0

@ Andy只是現在使用這個更新語句而不是你的()不是一個正確的函數 – mrSurprise