Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tạo bảng mysql nếu nó không tồn tại

Một vài điều.

Thiếu dấu chấm phẩy ; ở và ở cuối )"

if(empty($result)) {
    echo "<p>" . $table . " table does not exist</p>";
    $query = "CREATE TABLE IF NOT EXISTS WEIGHIN_DATA (
        id INT NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(id),
        DATE    DATE NOT NULL,
        VALUE   SMALLINT(4) UNSIGNED NOT NULL
    )" // <--- right there

mà sẽ gây ra / tạo ra một lỗi phân tích cú pháp, chẳng hạn như:

Trong số các lỗi khác như được hiển thị trong nhận xét của tôi từ mã được đăng ban đầu của bạn.

Ngoài ra, bạn đã không sử dụng mysql_query trong quá trình tạo bảng của bạn.

Đây là mysqli_ , nơi tôi đã nhận xét mã ban đầu của bạn.

Ghi chú bên lề:Bạn đang sử dụng ID cho cột của bạn trong $query = "SELECT ID FROM " . $table; và bạn vẫn tạo bảng và cột của mình dưới dạng id bằng chữ thường; cả hai chữ cái phải khớp nhau.

<?php

session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);

$DB_HOST = "xxx"; // put your own data
$DB_NAME = "xxx"; // put your own data
$DB_USER = "xxx"; // put your own data
$DB_PASS = "xxx"; // put your own data


$conn = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
if($conn->connect_errno > 0) {
  die('Connection failed [' . $conn->connect_error . ']');
}



/*

    // 1. CONNECT TO THE DB SERVER, confirm connection
    mysql_connect("localhost", "root", "") or die(mysql_error());
    echo "<p>Connected to MySQL</p>";
    $mysql_connexn = mysql_connect("localhost", "root", ""); // redundant ?


    // 2. CONNECT TO THE SPECIFIED DB, confirm connection
    $db = "weighttracker";
    mysql_select_db($db) or die(mysql_error());
    echo "<p>Connected to Database '$db'</p>";
    $db_connexn = mysql_select_db($db)or die(mysql_error("can\'t connect to $db"));

    // 3. if table doesn't exist, create it
    $table = "WEIGHIN_DATA";
    $query = "SELECT ID FROM " . $table; // that should be id and not ID
    //$result = mysql_query($mysql_connexn, $query);
    $result = mysql_query($query, $mysql_connexn);


*/


    $table = "WEIGHIN_DATA";
    $query = "SELECT ID FROM " . $table; // that should be id and not ID
    //$result = mysql_query($mysql_connexn, $query); // your original code
    // however connection comes last in mysql method, unlike mysqli
    $result = mysqli_query($conn,$query);


if(empty($result)) {
    echo "<p>" . $table . " table does not exist</p>";
    $query = mysqli_query($conn,"CREATE TABLE IF NOT EXISTS WEIGHIN_DATA (
        id INT NOT NULL AUTO_INCREMENT,
        PRIMARY KEY(id),
        DATE    DATE NOT NULL,
        VALUE   SMALLINT(4) UNSIGNED NOT NULL
    )");
    }
    else {
        echo "<p>" . $table . "table exists</p>";
    } // else

?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn các cặp hàng duy nhất từ ​​một bảng một cách ngẫu nhiên?

  2. Làm thế nào để chọn hai cột làm một?

  3. Cơ sở dữ liệu bị lỗi trong nguồn dữ liệu Jboss

  4. mysql Lỗi nghiêm trọng:không thể cấp phát bộ nhớ cho vùng đệm

  5. Cách viết truy vấn tham gia trong API Volusion