MySQLi更新DATETIME列

时间:2014-03-05 21:38:23

标签: php 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()

编辑 - 原来在使用的登录脚本中存在冲突的PDO对象,这导致了我的错误。全部排序现在!

2 个答案:

答案 0 :(得分:0)

我认为它是在PDO中写的:

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

应该是

$stmt->bindParam(1, $_SESSION['client_id']);
在mysqli中,它将是bind_param,但错误说的是PDO。 $ db必须是PDO资源...

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

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

答案 1 :(得分:-2)

我不知道你正在使用什么数据库...

可能是这样的:

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