2017-06-01 66 views
-1

我是新來的PDP PDO,這是我的代碼來創建一個名爲「標題」錯誤,而試圖用PHP PDO創建數據庫

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = "CREATE DATABASE title"; 
    // use exec() because no results are returned 
    $conn->exec($sql); 
    echo "Database created successfully<br>"; 
    } 
catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); // THIS IS LINE NUMBER 17 
    } 

$conn = null; 
?> 

數據庫但這是錯誤的,我得到的,而我嘗試運行該腳本

Notice: Undefined variable: sql in C:\xampp\htdocs\website\database\createdb.php on line 17 

SQLSTATE[HY000] [1049] Unknown database 'myDB' 

出了什麼問題?

+0

move'$ sql =「CREATE DATABASE title」;'to above'try {' – bansi

+0

@Epodax對不起,它是'myDB'不是電影。我編輯了這個問題。 –

+0

我從w3schools得到了這段代碼,它們不應該有任何錯誤。 –

回答

0

您連接到一個數據庫這裏沒有暴露出來的:

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

刪除DBNAME:

$conn = new PDO("mysql:host=$servername", $username, $password); 
+0

這一個工作,謝謝。但我從w3schools.com獲得了代碼。這真的是非常好的網站。 這是他們的錯? –

+0

@RahulSharma我不能說沒有看到代碼 – Jens

+0

https://www.w3schools.com/php/php_mysql_create.asp –

0

你得到的線#7的SQL錯誤,因爲你是在試圖訪問myDB這還不存在,並拋出異常。

您正在收到未定義的變量錯誤,因爲try語句中的代碼在$sql分配給任何內容之前失敗。