Jump to content

Parse error: syntax error, unexpected 'public' (T_PUBLIC) in C:\xampp\htdocs\talkingspace\libraries\Database.php on line 32


ppicasso772

Recommended Posts

<?php 
class Database{


    private $host      = DB_HOST;
    private $user      = DB_USER;
    private $pass      = DB_PASS;
    private $dbname    = DB_NAME;


    private $dbh;
    private $error;
private $stmt;


    public function __construct(){
        // Set DSN
        $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;
        // Set options
        $options = array(
            PDO::ATTR_PERSISTENT    => true,
            PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
        );
        // Create a new PDO instanace
        try{
            $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
        }
        // Catch any errors
        catch(PDOException $e){
            $this->error = $e->getMessage();
        }
    }
} 


public function query($query){
    $this->stmt = $this->dbh->prepare($query);
}




public function bind($param, $value, $type = null){
if (is_null($type)) {
  switch (true) {
    case is_int($value):
      $type = PDO::PARAM_INT;
      break;
    case is_bool($value):
      $type = PDO::PARAM_BOOL;
      break;
    case is_null($value):
      $type = PDO::PARAM_NULL;
      break;
    default:
      $type = PDO::PARAM_STR;
  }
}
$this->stmt->bindValue ( $param, $value, $type);
}








public function execute(){
    return $this->stmt->execute();
}


public function resultset(){
    $this->execute();
    return $this->stmt->fetchAll(PDO::FETCH_OBJ);
}


public function single(){
    $this->execute();
    return $this->stmt->fetch(PDO::FETCH_OBJ);
}


public function rowCount(){
    return $this->stmt->rowCount();
}


public function lastInsertId(){
    return $this->dbh->lastInsertId();
}


public function beginTransaction(){
    return $this->dbh->beginTransaction();
}


public function endTransaction(){
    return $this->dbh->commit();
}


public function cancelTransaction(){
    return $this->dbh->rollBack();
}

 

what is problem here :( i could not fix it .line 32 with red color

The problem is caused because you have two many } for closing your constructor. This is results in the class definition closing prematurely and so this is why you are getting the error.

  public function __construct(){
        // Set DSN
        $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;

        ... code omitted ..

        catch(PDOException $e){
            $this->error = $e->getMessage();
        }
    }
} // <--- remove this line

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.