2013-12-18 129 views
-4

我現在不在,爲什麼它不起作用。 Now()我也嘗試過'整數'。MySQL更新查詢出錯

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

是否顯示任何錯誤? –

+1

是的。 PHP和MySQL剛剛停止工作。沒有人知道爲什麼。 – Strawberry

+0

您應該打開php錯誤並更好地將error_report設置爲E_ALL,錯誤消息可以幫助您找到代碼問題。 – Fwolf

回答

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(); 
8

NOW()是一個mysql函數,不是PHP函數。你可能會做

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