插入&;CREATE TABLE没有';似乎不起作用


INSERT & CREATE TABLE doesn't seem to be working

我目前遇到一些问题。

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

好吧,可能会有很多事情同时发生。

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

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

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

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