sql >> データベース >  >> RDS >> Mysql

mysqlテーブルが存在しない場合は作成します

    いくつかのこと。

    セミコロン;がありませんでした )"の最後に

    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
    

    これにより、次のような解析エラーが発生/スローされます。

    あなたの最初に投稿されたコードからの私のコメントに示されている他のエラーの中で。

    さらに、mysql_queryを使用していませんでした テーブルの作成で。

    これがmysqli_です 元のコードをコメントアウトした方法。

    補足:IDを使用しています $query = "SELECT ID FROM " . $table; それでも、テーブルと列をidとして作成します 小文字;両方の大文字が一致する必要があります。

    <?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. SQL Serverリストテーブル:すべてのテーブルを表示する方法

    2. トルコ語の文字が正しく表示されない

    3. データベースのトランザクションログがいっぱいです

    4. mysqlGROUP_CONCATが重複しています