为什么 MySQLi 插入查询在 Ubuntu 上不起作用

为什么 MySQLi 插入查询在 Ubuntu 上不起作用

大家好,如果有人能回答这个问题,我会很高兴,我最近将我的电脑操作系统更改为 Ubuntu,并在其上下载了 Xampp,但现在的问题是 PHP MYSQLI 插入查询在我的 PC 上不起作用,我之前开发的所有网站,都无法在我的 PC 本地主机上注册,

该网站在 lamp 服务器上运行...我最初注意到注册新帐户和向网站添加新内容时存在问题,我花了很长时间试图弄清楚我的代码可能发生了什么,但我无法弄清楚。

我使用从以下网站下载的适用于 Ubuntu 的 lampp https://www.apachefriends.org/download.html,我使用下面的命令行来安装它

$ chmod 755 xampp-linux-x64-7.3.31-3-installer.run

$ ls -l xampp-linux-x64-7.3.31-3-installer.run

$ sudo ./xampp-linux-x64-7.3.31-3-installer.run

我正在运行下面的代码,但没有收到任何错误消息,并且值没有插入到数据库中,我还注意到如果我创建一个新的数据库表,只有 2 列 id 和 fname,值将被插入,但是一旦表列超过 2,它就不会再插入,而且我无法在我之前导入到 lampp phpmyadmin 的项目数据库中注册

这是代码

<?php
// all db connections is declear here 
$servername = "localhost";
$dBUsername = "root";
$dbPassword = "";
$dBName = "crypto";

$conn = mysqli_connect($servername, $dBUsername, $dbPassword, 
$dBName);

if(!$conn){
echo "Database Connection Failed";
exit();
}

// insert into database
$RegS="INSERT INTO user_info (`fname`) VALUES('user')";
$RegR = mysqli_query($conn, $RegS);

if ($RegR == TRUE) {
echo'Successfull';
}

?>

如果有人能帮忙我会很高兴。

答案1

MySQLroot帐户不能再用于 Web 应用程序。只有root在以下情况下才应使用 MySQL 帐户:

  1. 首次设置数据库
  2. 您正在执行管理任务
  3. 你正在修复一些非常非常错误的事情

相反,您需要创建一个新的 MySQL 用户并授予其访问数据库的权限。操作方法如下:

  1. 从终端(或 SSH 连接),root通过以下用户身份连接到 MySQL sudo
    sudo mysql 
    
  2. 创建一个新的 MySQL 用户:
    CREATE USER 'coins'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
    
    笔记:确保将coins和替换superSecretPassword!123为您喜欢的任何内容。
  3. 授予数据库访问权限:
    GRANT ALL ON `crypto`.* TO 'coins'@'localhost';
    

从这里,您可以为新的用户名和密码更新您的 PHP 文件,并查看一切是否按预期工作。

相关内容