2012-05-10 49 views
0

我越來越Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'username'@'localhost' (using password: NO)mysql_real_escape_string錯誤

這裏是我的代碼..

<?php 
include 'config.php'; 
$email = mysql_real_escape_string($_GET['email']); 

$validation = filter_var($email, FILTER_VALIDATE_EMAIL); 
if ($validation) { 
    // Make a MySQL Connection 
    mysql_connect($Host,$Username,$Password) or die(mysql_error()); 
    mysql_select_db($Database) or die(mysql_error()); 

    // Insert rows 
    mysql_query("INSERT INTO formusers 
    (formemail) VALUES('$email') ") 
    or die(mysql_error()); 
} 
?> 

它的工作,如果我動線,使一個數據庫連接起來。在使用mysql_real_escape_string之前是否需要建立數據庫連接?或者我只是做錯了嗎?

回答

3

是的,你需要打開mysql連接才能做到這一點。

我建議你在腳本的頂部放置mysql_connect(),以確保這個錯誤永遠不會發生。 (當然,如果你錯誤地連接到數據庫,它仍然會發生)

1

如果不能建立一個MySQL連接,您可以使用:

mysql_escape_string

但是:它不贊成PHP 5.3.0的!

如果可能,請始終使用mysql_real_escape_string

相關問題