2012-05-10 7 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_real_escape_stringのを使用する前に必要とされる)、そうでない場合はレベルE_WARNINGの誤差が発生 であり、FALSEが戻されます。 link_identifierが定義されていない場合は、 最後のMySQL接続が使用されます。

http://php.net/manual/en/function.mysql-real-escape-string.php

1

あなたが使用できるMySQLの接続を確立できない場合:

mysql_escape_string

をしかし:これはPHP 5.3.0で非推奨です!

可能であれば、常にmysql_real_escape_stringを使用してください。

関連する問題