簡體   English   中英

如何使用PHP MySQL連接到新數據庫

[英]How to connect to a new database using PHP MySQL

因此,我一直在嘗試學習如何將MySQL與PHP結合使用,並且設法創建了一個連接並創建了一個數據庫以及一個表。 我不知道該怎么做是一次性創建數據庫以及表。

我的意思是更容易在我的代碼中顯示(這將顯示無法連接錯誤消息,因為connect方法正在嘗試連接到不存在的數據庫。

    <?php
    $servername = isset($_POST["servername"]) ? $_POST["servername"] : '';
    $username = $_POST["username"];
    $password = $_POST["password"];
    $dbname = $_POST["dbname"];

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

    // Create database
    $sql = "CREATE DATABASE myDB";
    if ($conn->query($sql) === TRUE) {
        echo "Database created successfully";
    } else {
        echo "Error creating database: " . $conn->error;
    }

    // sql to create table
    $sql = "CREATE TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )";

    if (mysqli_query($conn, $sql)) {
        echo "Table MyGuests created successfully";
    } else {
        echo "Error creating table: " . mysqli_error($conn);
    }
    mysqli_close($conn);
    ?> 

因此,我要實現的全部工作是連接到MySQL,創建數據庫,為該數據庫創建一個表並關閉一個.php文件中的所有連接。

附帶說明一下,由於用戶能夠定義數據庫名稱( $dbname ),我如何將此值添加到上面的MySQL代碼中? 我在某處聽說您應該將變量添加到引號中? 所以'$dbname' 任何幫助都會很好! 提前致謝!

好的,這個問題的原因是因為我正在創建一個安裝類型的頁面,用戶可以在其中連接到自己的數據庫,從而允許用戶為其命名並使用其憑據進行連接。 顯然,我在該領域經驗不是很豐富,我希望我能對此做更好的解釋。

您擁有的所有代碼對我來說都不錯。 我認為您唯一缺少的是在創建數據庫后必須調用

$conn->select_db("myDB");

另外,如果您希望數據庫名稱為$ dbname,則

$sql = "CREATE DATABASE myDB";

應該

$sql = "CREATE DATABASE " . $dbname;

如果我沒有解決您的問題,請給我更多有關您的問題的詳細信息。

您在哪里傳遞所有這些變量?

$ servername = isset($ _ POST [“ servername”])嗎? $ _POST [“ servername”]:'';
$ username = $ _POST [“ username”];
$ password = $ _POST [“ password”];
$ dbname = $ _POST [“ dbname”];

只需簡單地硬編碼服務器名,用戶名,密碼和您的dbname。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM