Php 插入后错误访问被拒绝用户 'root' @'localhost'(使用密码 : YES)

标签 php mysql rest post insert

我正在使用 PHP 将数据发布到 mysqlserver 中。 (休息服务) 问题是我收到此错误:

Connection failed: Access denied for user 'root'@'localhost' (using password: YES).

我将查询从插入语句更改为选择语句并且它有效,我可以检索数据但我似乎无法执行插入。 我检查了权限,甚至更改了密码。 我确定之前有人问过这个问题,但我尝试过的解决方案不起作用问题可能是上下文所独有的。 我不确定它是代码还是什么?请帮忙。

<?php

$servername = "localhost";
$username = "root";
$password = "****";
$dbname = "TripBuddy";

$name = $_POST['Name'];
$surname = $_POST['Surname'];
$email = $_POST['Email'];
$password = $_POST['Password'];

// Create connection
 $conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
 if ($conn->connect_error) {
 die("Connection failed: " . $conn->connect_error);
 } 

 $sql = "INSERT INTO 'TripBuddy'.'AppUser01' ('Name', 'Surname', 'Email',              'Password') VALUES ('$name','$surname','$email','$password');";

 if ($conn->query($sql) === TRUE) {
  echo "New record created successfully";
  } else {
   echo "Error: " . $sql . "<br>" . $conn->error;
  }

  $conn->close();
  ?>

最佳答案

这里发生的事情是您正在为您的数据库和 POST 数组使用 $password

  • 您需要更改其中一个,因为它存在冲突。我以前见过这种情况。

那么您的查询使用的是常规引号而不是刻度。

$sql = "INSERT INTO `TripBuddy`.`AppUser01` (`Name`, `Surname`, `Email`, `Password`) 

        VALUES ('$name','$surname','$email','$password');";

您现在的密码是开放给SQL injection .使用 mysqli_* with prepared statements , 或 PDOprepared statements .

编辑:

正如萨蒂所说;使用 mysqli_affected_rows() truth


密码

我还注意到您可能以明文形式存储密码。不建议这样做。

使用以下之一:

其他链接:


添加error reporting到您的文件的顶部,这将有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// Then the rest of your code

旁注:显示错误只应在试运行中进行,绝不能在生产中进行。

  • 确保您的表单确实使用了 POST 方法,并且您的输入都具有匹配的名称属性。

即:name="Name" 用于您的 POST 数组 $_POST['Name']

  • 请注意,Namename 是两种不同的动物,并且区分大小写。

关于Php 插入后错误访问被拒绝用户 'root' @'localhost'(使用密码 : YES),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34827848/

相关文章:

php - 错误的 OO 架构、共享对象和依赖项?也许我在这里缺少设计模式?

PHP POST 不工作但 GET 工作

javascript - 如何在javascript中连接php数据库文件?

php - 输入表单将数据作为数值而不是实际数据插入

java - 即使所有 CORS header 都存在,跨源资源共享问题

rest - 具有多个公司或组织的系统的REST API设计

php - 尝试获取表单按钮来更改数据库中的值

php - 填充连接表

MySQL Ordering a query - 进一步的问题

java - Moqui 框架在 From 和 To : 之间调用 "Age"的 Rest 服务