2012-11-18 88 views
-1

我寫了一個更新的功能,當用戶登錄和退出,代碼更新狀態功能不能正常工作

function update_status_offline($id) { 
$id = $_SESSION['id']; 
mysql_query("UPDATE users SET status = 0 WHERE id = $id"); } 

以及用於在線身份一樣,一切都很正常,但是當我刪除

header('Location: ../');

它告訴我下面的錯誤:

Warning: Missing argument 1 for update_status_offline() (...)

代碼中可能有什麼錯誤?

+2

[請不要用'mysql_ *在新代碼'功能(http://stackoverflow.com/q/12859942)。它們不再被維護,並且已經開始棄用過程,請參閱[紅盒子](http://php.net/mysql-connect)。請改爲了解[準備好的語句](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://php.net/pdo)或[MySQLi](http:// php。淨/ mysqli的); [這篇文章](http://php.net/mysqlinfo.api.choosing)將幫助你決定。如果你選擇PDO,[這裏是一個很好的教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –

回答

1

你是不是傳遞函數參數

如果您有:

update_status_offline(); 

需要將其改爲:

update_status_offline($id); 

或者從該功能刪除$id它似乎已經被設置。

function update_status_offline(){ 
    $id = $_SESSION['id']; 
    mysql_query("UPDATE users SET status = 0 WHERE id = $id"); 
} 
0

試試這個(沒有ARG)

function update_status_offline() 
{ 
    $id = $_SESSION['id']; 
    mysql_query("UPDATE users SET status = 0 WHERE id = $id"); 
}