У меня есть пользовательский класс, который я создал, который выглядит примерно так:
class User {
private $user;
private $con;
public function __construct($con, $user){
$this->con = $con;
$user_details_query = mysqli_query($con, "SELECT * FROM users WHERE username='$user'");
$this->user = mysqli_fetch_array($user_details_query);
}
public function getUsername() {
return $this->user['username'];
}
public function getNumberOfFriendRequests() {
$username = $this->user['username'];
$query = mysqli_query($this->con, "SELECT * FROM friend_requests WHERE user_to='$username'");
return mysqli_num_rows($query);
}
public function getNumPosts() {
$username = $this->user['username'];
$query = mysqli_query($this->con, "SELECT num_posts FROM users WHERE username='$username'");
$row = mysqli_fetch_array($query);
return $row['num_posts'];
}
Это намного больше, но я пытаюсь понять, как создать его заново, используя подготовленныйзаявления, не портя остальные страницы.У меня есть вызовы на нескольких страницах, которые основаны на данном классе класса User.Я новичок в приготовлении блюд, но успел справиться довольно хорошо, но у меня возникли проблемы, когда дело доходит до уроков.Я пытаюсь воссоздать, например, public function getNumberOfFriendRequests()
, чтобы у него был тот же вывод, что и раньше, чтобы существующие страницы не выдавали ошибок.Вот что у меня есть:
public function getNumberOfFriendRequests() {
$username $this->user['username'];
$query = mysqli_prepare($this->$con, "SELECT COUNT(*) FROM friend_requests WHERE user_to=?");
$query->bind_param('s', $username);
$query->execute();
$query_>bind_result(NOT SURE);
$query->fetch();
}
Я также запутался в public function __construct($con, $user)
, потому что это то, что вызывается всякий раз, когда я хочу получить доступ к данным пользователя.Кто-нибудь знает, как я бы начал переписывать данный класс User, чтобы результаты были одинаковыми и не мешали вызовам php на зависимых страницах?