INSERT& CREATE TABLE似乎无法正常工作

时间:2013-08-15 16:21:34

标签: php mysql pdo

我目前遇到了一些问题。

基本上,我使用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文件。

1 个答案:

答案 0 :(得分:0)

嗯,可能会有很多事情发生,也许是在同一时间。

也许你的数据库连接失败了(我建议通过引用函数$con来传递连接install,而不是使用global keyword)。

可能您没有足够的权限在数据库中创建表。

此外,您没有绑定参数,这是正确的方法:

$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);