Создал не большой ProductList, заполнил таблицу данными, отобразил их на общей страницы. Не могу получить единственную запись по ключу. получаю только первую запись из таблицы, не важно какой бы id= был в ссылке. http://localhost/ListOPP/bookid.php?id=1 и http://localhost/ListOPP/bookid.php?id=9 отобразить данные первой записи. В процедурном стиле всё получилось, хочу на опп весь ProductList переписать.
Код класса books, и функиции.
// database connection and table name
private $conn;
private $table_name = "Books";
// object properties
public $id;
public $scu;
public $img;
public $name;
public $author;
public $description;
public $weight;
public $price;
public function __construct($db){
$this->conn = $db;
}
function readAll(){
$query = "SELECT
*
FROM
" . $this->table_name . " ORDER BY
id DESC";
$stmt = $this->conn->prepare( $query );
$stmt->execute();
return $stmt;
}
function readOne(){
$query = "SELECT
*
FROM " . $this->table_name;
$stmt = $this->conn->prepare( $query );
$stmt->bindParam(1, $this->id);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$this->id = $row['id'];
$this->scu = $row['scu'];
$this->img = $row['img'];
$this->name = $row['name'];
$this->author = $row['author'];
$this->description = $row['description'];
$this->weight = $row['weight'];
$this->price = $row['price'];
}
}
Также делал такой вот запрос, но почему возвращает только 3 запись из таблицы, не важно какой id в ссылке указан.
$query = "SELECT
*
FROM " . $this->table_name . "
WHERE
id = ?
LIMIT
0,1";
Так выглядит доступ из общего файла books.php
$books = new Books($db);
$stmt = $books->readAll();
while ($books = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($books);
echo "<div data-price='{$price}' class='item'>";
echo "<a href='bookid.php?id={$id}'><img class='product'
src='UI/images/{$img}'></a> ";
echo "<div class='info'>";
И код из bookid.php
<?php
// get ID of the product to be read
$id = isset($_GET['id']) ? $_GET['id'] : die('ERROR: missing ID.');
// include database and object files
include_once "UI/header.php";
include_once 'DB/database.php';
include_once 'Objects/books.php';
// get database connection
$database = new Database();
$db = $database->getConnection();
// prepare objects
$books = new books($db);
// set ID property of product to be read
$books->id = $id;
// read the details of product to be read
$books->readOne();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Сейчас ставлю phpmyadmin, на странице логгина выскакивает предупреждение, что папки var/lib/php/sessions нет, зашёл, чекнулПосле переустановки появилась...
Привет всем, у меня проблема с пдо , хочу подключится к базе, --> Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'wm65389_rafael'@'localhost' (using...