PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用相关的知识,希望对你有一定的参考价值。

参考技术A 方法:
1。
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改
"mysql"
数据库里的
"user"
表里的
"host"
项,从"localhost"改称"%"
mysql
-u
root
-pvmwaremysql>use
mysql;mysql>update
user
set
host
=
'%'
where
user
=
'root';mysql>select
host,
user
from
user;
2.
授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
grant
ALL
PRIVILEGES
ON
*.*
to
'myuser'@'%'
IDENTIFIED
by
'mypassword'
with
grant
option;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'root'@'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION;

为啥我无法连接到 mysql 数据库?

【中文标题】为啥我无法连接到 mysql 数据库?【英文标题】:why am I not being able to connect to mysql database?为什么我无法连接到 mysql 数据库? 【发布时间】:2018-03-01 10:56:03 【问题描述】:

我新安装了 Wamp Server,我正在尝试开发一个本地站点。我试图访问的数据库是 Shopping。但是,我在尝试访问它时遇到错误。有人可以帮忙吗?请告诉我这里写得不好? PS:我是 PHP 和 Wamp Server 环境的新手。谢谢!

<?php
$connect = mysqli_connect("localhost", "root", "gold", "shopping") or die
("Please, check the server connection.");
$email_address = $_POST['emailaddress'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];
$completename = $_POST['complete_name'];
$address1 = $_POST['address1'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state = $_POST['state'];
$country = $_POST['country'];
$zipcode = $_POST['zipcode'];
$phone_no = $_POST['phone_no'];
$sql = "INSERT INTO customers (email_address, password, complete_name,
address_line1, address_line2, city, state, zipcode, country, cellphone_no)
VALUES ('$email_address',(PASSWORD('$password')), '$completename', '$address1',
'$address2','$city', '$state', '$zipcode', '$country', '$phone_no')";
$result = mysqli_query($connect, $sql) or die(mysql_error());
if ($result)

?>
<p>
Dear, <?php echo $completename; ?> your account is successfully created
<?php

else

echo "Some error occurred. Please use different email address";

?>

Error: warning access denied for user'root'@'localhost'

【问题讨论】:

mysql_error() 应该是 mysqli_error()。您不能混合库。这可能会阻止您获得正确的错误报告。无论如何,您需要准确地告诉我们错误的内容。 “我遇到错误”对任何人都没有用。发生错误的原因有很多。 另外,这不是您的问题的原因,而是一个单独的问题:您的代码容易受到 SQL 注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者通过使用恶意输入值来破坏您的数据库。 bobby-tables.com 给出了风险解释,以及如何使用 PHP / mysqli 安全地编写查询的一些示例。切勿将未经处理的数据直接插入 SQL。 warning access denied for user 'root'@'localhost' 表示这是您的 MySQL 用户的权限问题,请检查 mysql 数据库 - 特别是 dbuser 表查看您的权限是否正常。您可能还想查看用于存储用户密码的 PHP 的 password_hash() 函数……一旦您纠正了其他 SQL 注入问题。 首先修复了@ADyson 所说的myql_error,我尝试执行相同的文件代码,在我的服务器上工作正常,检查您的数据库密码并检查您是否创建了相同的数据库和表名。跨度> @ADyson 错误提示:警告:mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\wamp64\www \addcustomer.php 在第 2 行。我按照您的建议将 mysql_error() 更正为 mysqli_error() 但仍未解决。 【参考方案1】:

您的数据库需要密码,因此请使用以下代码检查数据库凭据并检查连接

<?php
$servername = "localhost";
$username = "username"; // set user name
$password = "password"; // set password

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) 
    die("Connection failed: " . mysqli_connect_error());

echo "Connected successfully";
?> 

【讨论】:

您好阿曼,感谢您的帮助。我检查了您提供的代码,但它似乎不适用于我的系统。也许我做得不好?我的数据库名称需要密码。在Privileges中设置如下: username hostname type Privileges Grant david localhost global ALL PRIVILEGES Yes 您好阿曼,感谢您的帮助。我检查了您提供的代码,但它似乎不适用于我的系统。也许我做得不好?我的数据库名称需要密码。在权限中,设置如下: 用户名主机名类型权限授予大卫本地主机全局所有权限是的我仍然无法找到确切的问题。你能帮忙吗?

以上是关于PHP当中如何使用Wampserver连接到Mysql数据库以及怎样使用的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法连接到 mysql 数据库?

我曾经在电脑上装过MySQL,后来又装了wampserver,但其中自带的phpmyadmin无法连接到MySQL,求解决方法?

MySQL,PHP,登录信息正确但“无法连接到数据库”错误

如何使用 wampserver 激活 mysqli?

PHP安装sqlsrv扩展步骤,PHP如何连接上SQL

PHP 我的管理员:#2003 - 无法连接到“localhost”上的 MySQL 服务器 (10061)