PHP, MySQL на локальном сервере XAMPP. в базе есть таблица с токенами и некоторыми данными к ним. пытаюсь получить запись по токену, методом Token->getByToken() а получаю NULL ($data == NULL) причем метод Token->getAll() работает в другом месте... index.php: PHP: include_once './api/inc/database.inc'; include_once './api/inc/token.inc'; $database = new Database(); $db = $database->getConnection(); $item = new Token($db); $item->token = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; $data = $item->getByToken(); token.php PHP: class Token{ private $conn; private $db_table = "geo_token"; public $id; public $token; // ... другие поля public function __construct($db){ $this->conn = $db; } public function getAll(){ $sqlQuery = "SELECT * FROM" . $this->db_table; $stmt = $this->conn->prepare($sqlQuery); $stmt->execute(); return $stmt; } public function getByToken(){ $sqlQuery = "SELECT * FROM ". $this->db_table ." WHERE token = ? LIMIT 0,1"; $stmt = $this->conn->prepare($sqlQuery); $stmt->bindParam(1, $this->token); $stmt->execute(); $dataRow = $stmt->fetch(PDO::FETCH_ASSOC); $this->id = $dataRow['id']; $this->token = $dataRow['token']; //... другие поля } //... другие методы } помогите, пожалуйста.
@kupferrabe 1. Для чего переопределять значение свойства, по которому выполняется поиск? 2. Где и как инициализируется свойство db_table? 3. Не слишком накладно выходит при каждом вызове метода выполнять подготовку запроса? 4. Метод getByToken() что-нибудь возвращает?
@Sail ошибка найдена - в запросе стояло вместо "...WHERE token = ..." "...WHERE id = ...", т.к. копировалось из другого места, но новый вариант не был записан. 1. неправильно но не мешает 2. в строке 3. 3. да накладно, но тоже пока не мешает 4. возможно getByToken() неудачное имя для метода. здесь просто заполняются поля обьекта. мне тоже не нравится этод код... но хотелось по быстрому запустить чтоб работало а потом подправить вообще-то мне нужно очень простой функционал: 1. писать, читать, стирать записи в одну таблицу на сервере (с фронтенда через ajax и на сервере просто через обьект ) 2. одину страничку закрыть на пароль. если бы я нашел какую простую библиотеку/фреймоворк не городил бы свои велосипеды. но садится изучать, устанавливать - symfony, laravel & Co... из за пары строчек кода... слышал есть headless cms. даже записи в google-таблицы мне бы подошли. можете посоветовать простое готовое решение?