PHP SQL代码未插入数据库

时间:2014-02-25 11:03:20

标签: php mysql sqlite

我之前已经问过这个问题,但是使用了不同的代码,我没有得到一个修复此问题的答案,所以我有一个不同的代码,但它有相同的问题它不会在数据库中插入任何东西。它应该插入您已经在秘密列中找到了一个秘密游戏并在Code列中插入1,它们都应该在用户的Row中。我相信问题出现在if(empty($_SESSION['user'])) {但Dreamweaver在更改时会给我语法错误。

<?php 
session_start();
    require("common.php"); 

    if(empty($_SESSION['user'])) 
    { 
    echo''; 

        $query_params = array( 
            ':user_id' => $_SESSION['user']['id'] 
        ); 

        $query = " 
            UPDATE users 
            SET 
                secret='You have found a Secret Game!', code='1' 
            WHERE 
                id=:user_id 
        "; 

        try 
        { 
            $stmt = $db->prepare($query); 
            $result = $stmt->execute($query_params); 
        } 
        catch(PDOException $ex) 
        { 
        } 
        $_SESSION['user']['secret'] = $_POST['secret']; 
        $_SESSION['user']['code'] = $_POST['code'];      
    } 
     echo'You found a Secret Game!!';
?> 

1 个答案:

答案 0 :(得分:3)

如果我理解你的代码是正确的,你正在检查$ _SESSION ['user']是否为空,但是继续使用$ _SESSION ['user']中的变量,比如$ _SESSION ['user'] [ 'id'],在你的情况下甚至不应该存在?

也许你的IF条款应该是

if (!empty($_SESSION['user']))

现在没有意义