-1
class dbConnection {
function connect(){
try{
$this->db_conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
return $this->db_conn;
} catch(PDOException $e) {
return $e->getMessage();
}
}
}
class student{
public $link;
public function __construct(){
$db_connection = new dbConnection();
$this->link = $db_connection->connect();
return $this->link;
}
public function checkLogin($username,$password){
$query = $this->link->prepare("SELECT * FROM studentprofiles where UserName = :uname AND LogPassword = (select md5(:upassword));");
$query->execute(array(':uname' => $username, ':upassword' => $password));
$count = $query->rowCount();
if($count === 1){
$this->setSession($username);
}
return $count;
$query = null;
}
public static function display(){
$query = $this->link->prepare("SELECT ForeName, Surname FROM studentprofiles where UserName = :uname;"); //getting error here: Fatal error: Using $this when not in object context
$query->execute(array(':uname' => self::getSession()));
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
printf (" <span id='WelcomeName'> Welcome: %s %s\n </span>",$row[0],$row[1]);
}
$query = null;
}
}
Ошибка при использовании $ this для подготовки другого оператора выбора, как его использовать снова для другой функции в том же классе? СпасибоКак использовать PDO готовить более одного раза в классе
Цените любую помощь, действительно застрял на этой проблеме
Какое повторение последнего утверждения должно означать? –
Какая ошибка вы получаете? – Barmar
Если вы используете 'PDO :: FETCH_ASSOC', вам нужно использовать' $ row ['ForeName'] 'и' $ row ['Surname'] 'для доступа к элементам строки. Если вы хотите использовать '$ row [0]', вы должны использовать 'PDO :: FETCH_NUM'. – Barmar