<?php
class User {
private $conn;
private $table_name = "users";
public $id;
public $firstname;
public function __construct($db){
$this->conn = $db;
}
public function create(){
$query = "INSERT INTO
" . $this->table_name . "
SET
firstname = :firstname";
$stmt = $this->conn->query($query);
$this->firstname=htmlspecialchars(strip_tags($this->firstname));
$stmt->bindParam(':firstname', $this->firstname);
if($stmt->execute()){
return true;
}else {
$this->showError($stmt);
return false;
}
}
}
Ошибка поиска: вызов функции-члена()
Почему мой запрос равен NULL?
Когда я делаю var_dump для использования, все идет хорошо, но я не понимаю, почему мой запрос равен нулю
Ты бегаешь
$stmt = $this->conn->query($query);
Это неверно и не будет выполнено, так как запрос имеет параметр firstname = :firstname
то есть firstname = :firstname
Вы должны бежать
Prepare
bindParam
execute
В этой последовательности
Также этот запрос
$query = "INSERT INTO" . $this->table_name . "
SET firstname = :firstname";
Когда он мчит, изменится firstname
в каждой строке в этой таблице на то, что в $this->firstname
И не ясно, что вы действительно установили значение там ИЛИ в свойстве $conn
.
$this->firstname
никогда не устанавливается, если OP просто не показывает нам это в коде