在PostgreSQl数据库问题中存储信息

时间:2010-04-05 00:21:15

标签: php sql database postgresql

好的我正在为我的网站制作一个注册表。

第一页要求提供个人信息

        if($error==false) {

        $query = pg_query("INSERT INTO chatterlogins(firstName, lastName, gender, password, ageMonth, ageDay, ageYear, email, createDate) VALUES('$firstNameSignup', '$lastNameSignup', '$genderSignup', md5('$passwordSignup'), $monthSignup, $daySignup, $yearSignup, '$emailSignup', now());");
        $query = pg_query("INSERT INTO chatterprofileinfo(email, lastLogin) VALUES('$emailSignup', now());");
        $userNameSet = $emailSignup;
        $_SESSION['$userNameSet'] = $userNameSet;
        header('Location: signup_step2.php'.$rdruri);

    }

第一个查询有效。第二个查询有效,但不保存电子邮件...

会话不起作用,但标题工作并将我发送到下一页

即使我评论标题

,我也没有错误

下一页

    @session_start();

$conn = pg_connect("host=localhost dbname=brittains_db user=brittains password=XXXX" );

$signinCheck = false;
$checkForm = "";

if(isset($_SESSION['$userName'])) {

    $userName = $_SESSION['$userName'];
    $signinCheck = true;
    $query = pg_query("UPDATE chatterprofileinfo SET lastLogin='now()' WHERE email='$userName'");

}

if(isset($_SESSION['$userNameSet'])) {

    $userName = $_SESSION['$userNameSet'];
    $signinCheck = true;
    $query = pg_query("UPDATE chatterprofileinfo SET lastLogin='now()' WHERE email='$userName'");

}

根据您是否已登录,这是开始会话的最佳位置。

然后如果我在这里输入信息并通过这个

if($error==false) {

    $query = pg_query("UPDATE chatterprofileinfo SET aboutSelf='$aboutSelf', hobbies='$hobbies', music='$music', tv='$tv', sports='$sports', lastLogin='now()' WHERE email='$userName'") or exit(pg_last_error());
    //header('Location: signup_step3.php'.$rdruri);

}

我的数据库中没有显示任何内容。

我不知道我哪里出错了

网站

http://opentech.durhamcollege.ca/~intn2201/brittains/chatter/

1 个答案:

答案 0 :(得分:0)

对于初学者来说,不要把那些不是字符串的东西放在单引号中。 'now()'表示文字字符串“now()”

此外,如果您正在对数据库进行更新,则最好使用预准备语句来帮助防止SQL注入。在您的情况下,请参阅http://www.php.net/manual/en/function.pg-prepare.php