警告:mysql_query()[function.mysql-query]:用户''@ localhost'拒绝访问(使用密码:否)

时间:2014-01-15 09:36:12

标签: php mysql

早上好, 我疯狂地尝试使用mysql的第一个PHP代码之一。我已经在两台服务器上测试了这个,其中一台托管在其他地方,也使用本地wamp服务器,结果是一样的,所以我必须在创建连接的代码中或在运行查询后稍有不好。

对于wamp,我已经验证了php.ini以及M​​ySQL权限,在代码中我使用的是凭据。我很感激一些指导。

 <?php

 // Function: connect to a database. Returns the database connection.




  function connect_db($host, $id, $pwd)
  {

  $connection = @mysql_connect('localhost', 'username', 'password')
        or die('connection problem:' . mysql_error());
    mysql_select_db('database_db');
    return $connection;
    if (!$connection)
  {
    print ("internal error " . mysql_errno() );
  }
  }

 //get names from form

$ID = $_POST['ID'];
$Event= $_POST['Event'];
$Date = $_POST['Date'];
$Time = $_POST['Time'];
$Venue= $_POST['Venue'];
$TypeID= $_POST['TypeID'];
$Score= $_POST['Score'];
$Member = $_POST['Member'];

//insert values
$myquery = "INSERT INTO Results(ID, Event, Date, Time, Venue, TypeID, Score, Member )VALUES('$ID', '$Event', '$Date', '$Time', '$Venue', '$TypeID', '$Score', '$Member')";
$answer = mysql_query($myquery);

if (!$answer) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $myquery;
    die($message);
}

while ($row = mysql_fetch_assoc($answer)) {
    echo "Your results were entered successfully";
    echo "<br>";
    echo $row['Id'];
    echo $row['Event'];
    echo $row['Date'];
    echo $row['Time'];
    echo $row['Venue'];
    echo $row['TypeID'];
    echo $row['Score'];
    echo $row['Member'];
}

&GT;

2 个答案:

答案 0 :(得分:1)

您需要在mysql_connect来电中将“用户名”和“密码”更改为实际凭据。

除非这些是您所需的凭据,否则您需要确保用户确实存在且有权访问数据库。

作为旁注,不推荐使用mysql_*函数,建议使用mysqli_*或准备好的语句。

答案 1 :(得分:0)

尝试向用户提供访问表:

grant all On [tabelName] to [userName];

例如

grant all On mysql.* to root;