2013-11-24 53 views
0

**已解決**PHP/MySQL檢查用戶是否存在:函數不起作用

**我在函數清理中犯了一個愚蠢的錯誤。我創造了她作爲sanitze。謝謝**

如果有人可以幫助我,我會非常感激。 我正在學習數據庫交互,並在我的數據庫中有一個名爲'George'的用戶。

要檢查他的存在我有這樣的功能:

function sanitze($data) { 
    return mysql_real_escape_string($data); 
} 

function user_exists($username) { 
    $username = sanitize($username); 
    $query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'"); 
    // Check the result of the query (COUNT) and return either true or false 
    return (mysql_result($query, 0) == 1) ? true : false; 
} 

然後我檢查用戶名與這個if語句:

if(user_exists('George') === true) { 
    echo 'User exists'; 
} else { 
    echo 'User doesn\'t exist'; 
} die(); 

但我沒有得到任何結果。 我發現這個主題:PHP username check function not working

而我目前正在研究它,但還沒有找到任何解決方案。

如果有人知道答案。這會很棒。

+0

你有一個數據庫連接? – GolezTrol

+0

爲什麼計數?而不是'SELECT username FROM users where name =?'?? – samayo

+0

查看PDO準備的語句。即使有您的清潔功能,這種方法仍然不安全。 – Niketa

回答

2

的函數被調用sanitze和你怎麼稱呼它使用sanitize。這是兩種不同的拼寫。

如果啓用error reporting(無論是在運行時或在您的配置),PHP應該表現出你對這樣的錯誤非常的詳細信息:

+0

我希望這不是問題:) – nrathaus

+0

對不起。這是問題。如何愚蠢的我,謝謝! –

+0

那發生。如果你是新來的一些具體的東西(如數據庫),你自然而然地認爲是是錯誤必須出現的地方。使用錯誤報告的一個很好的理由,所以你不在盲人。 – GolezTrol