2014-12-07 112 views
0

我想创建一个连接到mysql数据库并将数据插入数据库的PHP文件。但是,我很难获得它连接到数据库。我收到以下错误 通知(!):未定义的变量:DBNAME在C:\ WAMP \ WWW \ php_Final_kk.php在线34 调用堆栈php不会连接到mysql

通知(!):未定义的变量:SQL在C:\ WAMP \ WWW \ php_Final_kk.php上线52

SQLSTATE [HY000] [1045]访问被拒绝的用户 '根' @ '本地主机'(使用密码:是)

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

<?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 
+0

你的dbname变量在哪里 – user3815506 2014-12-07 17:35:39

回答

1

当您创建通过mysqli_connect连接时,必须提供4个参数:主机,用户名,密码和数据库名称。你缺少数据库名称。

正确的调用是:

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db'); 

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

这一切都在official docs

0

说明你还没有定义的数据库名称

dbname=$dbname 


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

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

正确位置:

你必须提供4个必需品ssary参数:主机,用户名,密码和数据库名称。您缺少数据库名称。

$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是您的代码中缺少的数据库名称。