繁体   English   中英

用户'name'@'localhost'的访问被拒绝(使用密码:NO)

[英]Access denied for user 'name'@'localhost' (using password: NO)

我正在尝试创建一个cron作业,当我的库存不足时,它将发送一封邮件。 即使我的数据库设置正确,该电子邮件也只是向我发送上面的错误代码。 所以这是我的代码:

<?php

//I just renamed them, but you get the concept
$db_host = "mydbhost";
$db_username = "myusername";
$db_password = "mypassword";
$db_name = "mydatabase";

$conn = mysqli_connect($db_host,$db_username,$db_password,$db_name) or die ('MySQL Not found // Could Not Connect.');

$recipient = "email@email.com";

$result = mysql_query("SELECT prod_count, restock_level FROM mydatabase WHERE prod_count <= restock_level;");
if ($result) {
  $row = mysql_fetch_assoc($result);
  $count = $row['prod_count'];
  $restocklvl = $row['restock_level'];
  if ($count <= $restocklvl) {
    $msg = "Your inventory is currently low. Please restock.";
    mail($recipient, "Inventory check below threshold", $msg);
  }
}
else {
  $msg = "An error occurred while checking inventory: " . mysql_error();
  mail($recipient, "Inventory check error", $msg);
}
?>

似乎出了什么问题? 谢谢! 这是电子邮件的图像

您目前正在混用mysqli和mysql查询。 通过mysqli连接时,无法使用mysql_query之类的用户功能。

作为一个简单的示例,代码应类似于以下内容:

$conn = mysqli_connect($db_host,$db_username,$db_password,$db_name)
$result = $conn->query($sql);
$row = $result->fetch_assoc();

您必须将所有mysql_方法更改为新的mysqli才能正常工作。

 <?php //I just renamed them, but you get the concept $db_host = "mydbhost"; $db_username = "myusername"; $db_password = "mypassword"; $db_name = "mydatabase"; $conn = mysqli_connect($db_host,$db_username,$db_password,$db_name) or die ('MySQL Not found // Could Not Connect.'); $recipient = "email@email.com"; $result = mysqli_query($conn,"SELECT prod_count, restock_level FROM mydatabase WHERE prod_count <= restock_level;"); if ($result) { $row = mysqli_fetch_assoc($result); $count = $row['prod_count']; $restocklvl = $row['restock_level']; if ($count <= $restocklvl) { $msg = "Your inventory is currently low. Please restock."; mail($recipient, "Inventory check below threshold", $msg); } } else { $msg = "An error occurred while checking inventory: " . mysqli_error($conn); mail($recipient, "Inventory check error", $msg); } ?> 

试试这个代码。您混合使用mysql或mysqli代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM