简单的PHP OOP - >插入数据库

时间:2014-08-21 10:54:58

标签: php sql

我的代码有问题,当用户在我的网站上使用搜索时,我会尝试简单地插入一些日志。

日志应包含:

date in unix time -> using function for it
username -> its stored in Session
vin -> its string he post in input field

班上最优秀的

public $vin = null;
public function __construct( $data = array() )
{
    if( isset( $data['vin'] ) )
        $this->vin = stripslashes( strip_tags( $data['vin'] ) );
}

public function storeFormValues( $params )
{
    $this->__construct( $params ); 
}

功能代码:

 public function logFromSearch() {
    $correct = false;
    //$this->username = $_SESSION]['username'];
    $date = new DateTime();

    try {
        $con = new PDO( DB_HOST, DB_USER, DB_PASS );
        $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        $sql = "INSERT INTO logs(date, user, vin) VALUES(:date, :user, :vin)";

        $stmt = $con->prepare( $sql );
        $stmt->bindValue( "date", $date->getTimestamp(), PDO::PARAM_STR );
        $stmt->bindValue( "user", $this->username, PDO::PARAM_STR );
        $stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
        echo $this->vin;
        echo $date->getTimestamp();
        $stmt->execute();
        return "Everything is OKEY";
    } catch( PDOException $e ) {
        return $e->getMessage();
    }
 }

它不会向数据库输入任何内容,而是我认为应该这样做。我尝试调试它,所以我发现我从会话中添加用户名的方式是不可能的方式,并且还发现this->vin$date->getTimestamp()正在返回它应该插入数据库的实际数据,所以有人可以帮助我找到问题在哪里? (在同一个类我使用其他功能进行数据库连接,他们工作找不到设置连接/ db名称和主机等等因为它在不同的文件中)

P.S。错误:我没有收到任何错误只是一次通知注意:未定义的属性:Data :: $ username这是可以理解的。

0 个答案:

没有答案