MySQL更新查询出错

时间:2013-12-18 12:57:04

标签: php mysql sql mysqli

我不知道为什么它不起作用。我也试过整数'for Now()。

    $update = 'UPDATE mitarbeiter  SET lastlogin=? WHERE id=?';
    $eintrag = $db->prepare( $update );
    $eintrag->bind_param( 'si', NOW(), $id );
    $eintrag->execute();

4 个答案:

答案 0 :(得分:8)

NOW()是一个mysql函数,而不是PHP函数。你可以做

$update = 'UPDATE mitarbeiter SET lastlogin=NOW() WHERE id=?';
$eintrag = $db->prepare( $update );
$eintrag->bind_param( 'i', $id );
$eintrag->execute();

答案 1 :(得分:1)

now()在PHP中不作为函数存在。

可能您已禁用PHP设置display_errors。如果您打开此设置,您会看到:

PHP Fatal error:  Call to undefined function now()

NOW()是MySQL中的一个函数,在PHP中有一个名为date()的函数。

要么:

$update = 'UPDATE mitarbeiter  SET lastlogin=NOW() WHERE id=?';
$eintrag = $db->prepare( $update );
$eintrag->bind_param( 'i', $id );
$eintrag->execute();

或者:

$update = 'UPDATE mitarbeiter  SET lastlogin=? WHERE id=?';
$eintrag = $db->prepare( $update );
$eintrag->bind_param( 'si', date("Y-m-d H:i:s"), $id );
$eintrag->execute();

答案 2 :(得分:1)

我总是遇到bind_param的问题,而是使用bindValue()。 但即使我们说使用bind_param,它应该是bindParam()吗?

$update = 'UPDATE mitarbeiter SET lastlogin=NOW() WHERE id=?';
$eintrag = $db->prepare( $update );
$eintrag->bindValue( 'i', $id );
$eintrag->execute();

答案 3 :(得分:0)

您的问题在NOW()功能部分失败了。这是mysqls而不是phps。要在php中执行此操作,例如:

$update = 'UPDATE mitarbeiter SET lastlogin=? WHERE id=?';
$eintrag = $db->prepare( $update );
$eintrag->bind_param( 'i', date("Y-m-d H:i:s"), $id );
$eintrag->execute();