-1

現在、いくつかの問題が発生しています。

基本的に、私は PDO を使用しており、テーブルを作成してテーブルに何かを挿入したいと考えています。

解決策を探してみましたが、何も機能していないようです。

これを見てください:

public function install()
{
    global $con;

    $sql = "CREATE TABLE if not exists users
        (id INT(11) PRIMARY_KEY, 
         uname VARCHAR(30) , 
         pass VARCHAR (40))";

    $sq = $con->query($sql);

    if ($sq)
    {
        echo "Table successfully created!";
    }
    else
    {
        $this->errors[] = 'Error creating table: users';
    }

    $sql_code = "INSERT INTO users (
        `uname`, 
        `pass` ) VALUES( 
        `$this->username`,
        `$this->password`
        )";

    $sq1 = $con->query($sql_code);

    if ($sql_code)
    {
        echo "Successfull!";
    }
    else
    {
       echo "Error creating admin user!";
    }
}

注: データベース接続は という別のファイルに設定されており、このファイルもコードにconfig.php含めました。config.php

4

1 に答える 1

0

まあ、おそらく同時に、たくさんのことが起こっている可能性があります。

データベース接続が失敗している可能性があります (キーワードを使用するのではなく$con、関数への参照によって接続を渡すことをお勧めします)。installglobal

データベースにテーブルを作成するための十分な権限がない可能性があります。

また、パラメーターをバインドしていません。これが正しい方法です。

$sql_code = "
    INSERT INTO users (
        uname,
        pass
    )
    VALUES (
        :userName,
        :password
    );
    ";

$sq1 = $con->prepare($sql_code);
$sq1->bindParam(':userName', $userName);
$sq1->bindParam(':password', $password);
$sq1->query($sql_code);
于 2013-08-15T16:35:37.513 に答える