-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引用函数install而不是使用global关键字来传递连接)。

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

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

$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 回答