abstract class BaseORM {
protected $table;
protected $db;
public function __construct($db) {
$this->db = $db;
}
public function getById($id) {
$stmt = $this->db->prepare("SELECT * FROM `$this->table`" WHERE id=?);
$stmt->execute([$id]);
return $stmt->fetch();
}
public function getAll() {
return $this->db->query("SELECT * FROM `$this->table`");
}
}
class SliderDB extends BaseORM {
protected $table = 'slider';
}
$slider = new SliderDB($db);
$allSliders = $slider->getAll();
у меня интернет магазин - и там у меня есть список лучших товаров - отдельный список магазинов и отдельный список лучших предложений - и если мне писать каждый метод с каждым именем таблици - мне сказали что я нарушаю правило" не повторйся"! и думал я как же мне быть что бы в переменную таблица записывалась динамично и что бы не было массу методов как то так.
function getTableData($table) {
$list = ['best_offers', 'shops', 'best_products'];
if (!in_array($table, $list)) {
throw new InvalidArgumentException('Table name not found');
}
return $this->db->row('SELECT * FROM `$table`');
}
$data = getTableData('shops');
$sth = $dbh->prepare('SELECT * FROM table WHERE col = :col');
$sth->execute(['col' => $col]);
$mysql = new mysqli('localhost', 'root', '', 'factotum_base');
if ($mysql) {
echo ":)";
} else {
echo ":(";
}
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysql = new mysqli('localhost', 'root', '', 'factotum_base');
if ($res == false) {
printf("Ошибка при выполнении запроса\n"); //вылетает ошибка :(
} else {
printf("Запрос выполнен :)");
}
try {
$db=new PDO($DSN, $db_user, $db_pass, $pdo_opt);
?>
бла блa бла
<?
} catch(Exception $ex) {
обработка исключения
}