gpt4 book ai didi

php - 无法更新数据: Access denied for user 'xxxx' @'localhost' (using password: NO)

转载 作者:行者123 更新时间:2023-11-29 23:30:31 25 4
gpt4 key购买 nike

好吧,我已经尝试解决这个问题几个小时了,但没有成功。希望你们中的一个/一些出色的程序员能够帮助使这段代码正常工作。目前,我设置了两个数据库:Users 和 AvatarDB。在 Users 中,我有一个名为 userinfo 的表,在 AvatarDB 中我有一个名为 Avatars 的表。我想做的是让用户上传一个头像,该头像将存储在 AvatarDB 中,并且具有与用户 ID 相同的 ID。 (为了简单和故障排除的目的,我目前只是要求用户在表单中输入他们的 ID,但是一旦我让这个代码工作,代码就会从我的用户数据库中检索他们的用户 ID)不幸的是,当我尝试上传时头像 我在标题中收到错误。这是我连接数据库的代码:

$servername = "localhost";
$username = "xxxx"; (I put the username here)
$password = "xxxx"; (I put the password here)

// Create connection
$db = mysql_connect($servername, $username, $password);

// Check connection
if (!$db) { die("Connection failed: " . mysql_connect_error()); }

然后,我的upload.php文件如下:

<?PHP include(connect.php) ?>

<form id="avatar" name="avatar" method="post" action="submitAvatar.php" enctype="multipart/form-data">

ID:
<input type="text" id="memberId" name="memberId">

Upload Avatar:
<input type="file" onchange="load_image(this.id,this.value);" id="userAvatar" name="userAvatar">

<br><br>
<input type="submit" value="Update Avatar" id="updateAvatar" name="updateAvatar">

</form>

我的submitAvatar.php如下:

<?PHP include(connect.php);

if($_SERVER['REQUEST_METHOD'] == "POST" && $_POST['updateAvatar'] == 'Update Avatar') {
if($_POST['memberId']=="") {
echo "Member id is required";
} else {

$memberId = $_POST['memberId'];
$updtDate = date("Y-m-d : H:i:s", time());
$allowedExts = array("gif", "jpeg", "jpg", "png", "bmp");
$temp = explode(".", $_FILES["userAvatar"]["name"]);

if($_FILES['userAvatar']['size']>0) {
if (in_array(strtolower($temp[1]), $allowedExts)) {

$picNm = uniqid().".jpg";
$path="memberAvatars/".$picNm;

if(move_uploaded_file($_FILES['userAvatar']['tmp_name'],$path)) {

$sql = "UPDATE Avatars ". "SET name = $picNm ". "WHERE memberId = $memberId" ;
mysql_select_db('AvatarDB');
$retval = mysql_query( $sql, $db );
if(! $retval ) { die('Could not update data: ' . mysql_error()); }
echo "Updated data successfully\n";
mysql_close($db);
} else {
echo "Error1.";
}
} else {
echo "Invalid type.";
}
}
}
}
?>

有人知道为什么我会收到以下错误吗?

Could not update data: Access denied for user 'xxxx'@'localhost' (using password: NO)

提前谢谢您!

最佳答案

以下是我对这个问题的看法。无需输入<?PHP include(connect.php) ?>upload.php除非你实际上在那里做一个看起来不像的查询。它已经包含在 submitAvatar.php 中.

我认为问题在于您的查询语法或您包含连接脚本的方式。您可能需要在包含内容中使用引号。

<?PHP include('connect.php') ?>

另外,尝试改变

$sql = "UPDATE Avatars ". "SET name = $picNm ". "WHERE memberId = $memberId" ;

$sql = "UPDATE Avatars SET name = $picNm WHERE memberId = $memberId";

或者,如果您希望引用它,则正确的格式是。

$sql = "UPDATE Avatars SET name = '".$picNm."' WHERE memberId = '".$memberId"'";

编辑:

仔细查看您的代码后,我认为问题出在此处:

mysql_select_db('AvatarDB');
$retval = mysql_query( $sql, $db );

看起来您已经切换了它们,请尝试

mysql_select_db('AvatarDB', $db);
$retval = mysql_query($sql);

关于php - 无法更新数据: Access denied for user 'xxxx' @'localhost' (using password: NO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com