首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php不会连接到mysql

问php不会连接到mysql
EN

Stack Overflow用户
提问于 2014-12-07 17:30:45
回答 3查看 1.6K关注 0票数 0

我正在尝试创建一个PHP文件,该文件连接到mysql数据库并将数据插入数据库。但是,我很难让它连接到数据库。我得到以下错误(!)注意:未定义变量:第34行调用堆栈中的C:\wamp\www\php_Final_kk.php中的dbname

(!)注意:第52行C:\wamp\www\php_Final_kk.php中的未定义变量: sql

拒绝用户'root'@'localhost‘的SQLSTATEHY000访问(使用密码:是)

我的用户名和密码对数据库是正确的,并且所有的特权都已被授予,但是我似乎无法让它连接到任何帮助,并且我已经将我的代码包括在下面。谢谢!

代码语言:javascript
复制
<?php


$servername = "localhost";
$username = "root";
$password = "";

// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $email = $_POST['email'];
    $uname = $_POST['uname'];
    $password = $_POST['password'];
    $SSN = $_POST['ssn'];

    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

        // set the PDO error mode to exception
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);





$sql = "INSERT INTO users (fname, lname,email,username,password,SSN) VALUES ('$fname',        '$lname', '$email', '$uname', '$password', '$ssn')";


        // use exec() because no results are returned
        $conn->exec($sql);
        echo "New record created successfully";
        }

    catch(PDOException $e)
        {

        echo $sql . "<br>" . $e->getMessage();
        }

    $conn = null;





?>

enter code here
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-07 17:35:34

通过mysqli_connect创建连接时,必须提供4个参数:主机、用户名、密码和数据库名。你没有数据库名。

正确的选择是:

代码语言:javascript
复制
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$link) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

这一切在官方文件中都有解释

票数 1
EN

Stack Overflow用户

发布于 2014-12-07 17:36:36

您尚未定义数据库名称。

代码语言:javascript
复制
dbname=$dbname


$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my db name";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname );
票数 0
EN

Stack Overflow用户

发布于 2014-12-07 17:39:06

更正这里:

您必须提供4个必需的参数:主机、用户名、密码和数据库名。你少了数据库的名字。

代码语言:javascript
复制
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$dbname是您的代码中缺少的数据库名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27345532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档