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

Php 在PostgreSQl数据库中存储信息问题,php,sql,database,postgresql,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', '$genderSig

好的,我正在为我的网站注册

第一页询问一些个人信息

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

}
在我的数据库中,没有任何显示

我不知道我哪里出错了

该网站是


首先,不要把非字符串的东西像那样用单引号引起来“now”表示现在的文本字符串


此外,如果您正在更新数据库,最好使用准备好的语句来帮助防止sql注入。在您的情况下,请参阅

或查找pg_query_params,这是查询中安全输入的最简单解决方案。当您有重复的查询时,pg_prepare很好。