大家好,如果有人能回答这个问题,我会很高兴,我最近将我的电脑操作系统更改为 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 帐户:
- 首次设置数据库
- 您正在执行管理任务
- 你正在修复一些非常非常错误的事情
相反,您需要创建一个新的 MySQL 用户并授予其访问数据库的权限。操作方法如下:
- 从终端(或 SSH 连接),
root
通过以下用户身份连接到 MySQLsudo
:sudo mysql
- 创建一个新的 MySQL 用户:
笔记:确保将CREATE USER 'coins'@'localhost' IDENTIFIED WITH mysql_native_password BY 'superSecretPassword!123';
coins
和替换superSecretPassword!123
为您喜欢的任何内容。 - 授予数据库访问权限:
GRANT ALL ON `crypto`.* TO 'coins'@'localhost';
从这里,您可以为新的用户名和密码更新您的 PHP 文件,并查看一切是否按预期工作。