doutandusegang2961 2011-11-24 14:17 采纳率: 0%
浏览 22
已采纳

已创建表,但未插入数据[关闭]

I guess it'll probably be another simple mistake I've looked over about 20 times without noticing it, but my data is not being inserted into my database somehow.

I'm doing 2 things in this query. I'm creating the table, and inserting some data into it. Somehow the table is being created, but the data is not inserted into it.
No error, nothing to indicate that something's gone wrong.

Query:

$query = $dblink->prepare
(
"CREATE TABLE users
(
    id int(6) NOT NULL auto_increment,
    nick varchar(40) NOT NULL,
    name varchar(120),
    email varchar(256) NOT NULL,
    pass varchar(256) NOT NULL,
    salt binary(64) NOT NULL,
    avatar varchar(0),
    level int(1) NOT NULL,
    primary key (id)
);"
. PHP_EOL .
"INSERT INTO users
(
    nick,
    name,
    email,
    pass,
    salt,
    avatar,
    level
)
VALUES
(
    :nick,
    :name,
    :email,
    :pass,
    :salt,
    :avatar,
    5
);"
);
$query->bindParam(':nick', $_POST['step3_nick']);
$query->bindParam(':name', $_POST['step3_name']);
$query->bindParam(':email', $_POST['step3_email']);
$salt = generateSalt();
$query->bindParam(':pass', hashPassword($_POST['step3_pass'], $salt));
$query->bindParam(':salt', $salt);
unset($salt);
$query->bindParam(':avatar', $img['logo']);
$query->execute();

Bigger chunk of code:

elseif ($step == 4)
{
    ## Stap 4 ##
    include_once('config.php');
    try
    {
        $dblink = new PDO
        (
            'mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['name'],
            $config['db']['user'],
            $config['db']['pass']
        );
        $dblink->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch (Exception $ex)
    {
        die
        (
            '<p style="color: red; font-weight: bold;">' . ($language == 'nl') ? ('Kon niet verbinden met de database!') : ("Couldn't connect to the database") . '</p>' . PHP_EOL .
            '<p style="color: red;">' . $ex . '</p>'
        );
    }
    if ($_POST['step3_pass'] !== $_POST['step3_pass_confirm'])
    {
        die
        (
            '<p style="color: red; font-weight: bold;">' . ($language == 'nl') ? ('De opgegeven wachtwoorden komen niet overeen!') : ("The given passwords don't match!") . '</p>'
        );
    }
    $query = $dblink->prepare
    (
        "CREATE TABLE users
        (
            id int(6) NOT NULL auto_increment,
            nick varchar(40) NOT NULL,
            name varchar(120),
            email varchar(256) NOT NULL,
            pass varchar(256) NOT NULL,
            salt binary(64) NOT NULL,
            avatar varchar(0),
            level int(1) NOT NULL,
            primary key (id)
        );"
        . PHP_EOL .
        "INSERT INTO users
        (
            nick,
            name,
            email,
            pass,
            salt,
            avatar,
            level
        )
        VALUES
        (
            :nick,
            :name,
            :email,
            :pass,
            :salt,
            :avatar,
            5
        );"
    );
    $query->bindParam(':nick', $_POST['step3_nick']);
    $query->bindParam(':name', $_POST['step3_name']);
    $query->bindParam(':email', $_POST['step3_email']);
    $salt = generateSalt();
    $query->bindParam(':pass', hashPassword($_POST['step3_pass'], $salt));
    $query->bindParam(':salt', $salt);
    unset($salt);
    $query->bindParam(':avatar', $img['logo']);
    $query->execute();

    echo ($language == 'nl') ? ('<strong>Installatie voltooid!</strong>') : ('<strong>Setup completed!</strong>');
    ?>
        <form action="index.php" method="POST">
            <input type="checkbox" name="step4_removesetupfile" /><?php echo ($language == 'nl') ? ('Verwijder <em>setup.php</em>.') : ('Remove <em>setup.php</em>.'); ?>
            <input type="submit" value="»" />
        </form>
    <?php
}

Also, the value column in the table settings isn't given any value, while $language does have a value.

  • 写回答

2条回答 默认 最新

  • dongxin9759 2011-11-24 18:12
    关注

    It was just a typo, as usual >.<
    It was one that neither of you could have found as I made a typo in the form it get's the POST data from.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?