ОК после 40 лет я пытаюсь перейти на OO PHP. Все идет хорошо, за исключением случаев, когда я делаю очень простой INSERT, тогда создаются две почти дублированные (не дублированные) строки. Таблица состоит из автоинкремента INT id, поля VARCHAR msg и поля изображения INT по умолчанию – NULL. С каждой вставкой я получаю дубликат msg. id […]
это мой метод ввода в PDO, он работает на 100%. этот метод «insert» принимает таблицу, столбец и значение, но я хочу сделать его универсальным. (я хочу вставить значения с именами столбцов или без них) public function insert($table, $pair = array()){ try{ $Sql = "INSERT INTO $table ( "; $Sql .= implode(", ", array_keys($pair)); $Sql .= […]
class connector { private static $db; function __construct() { $this->db = null; $this->connect(); } private function connect() { $this->db = new PDO('mysql:host=localhost;dbname=database;charset=utf8','user','pass'); } public static function getDB() { if (!isset(self::$db)) { self::$db = new connector(); } return self::$db; } РЕДАКТИРОВАНИЕ // this was my original function, I had reduced it for less space. my deepest […]
Как использовать результаты PDO FetchObject с переменной $ this? Укажите класс страницы, который используется для отображения страницы, на которой хранятся данные, хранящиеся в базе данных. На каждой странице есть заголовок и описание, относящиеся к этой странице. В производстве есть много других переменных и функций, чем показано здесь. class Page { var $title; var $description; function […]
Я создал три класса. Один класс – это db, который простирается от PDO. Другие два класса простираются от класса db. Но проблема в том, что когда я инициализирую объекты этих подкласс, второй объект создается как клон первого объекта. Заранее благодарю за любую помощь. <?php /** The Database Driver */ define('DB_DRIVER', 'mysql'); /** The name of […]
Я пытаюсь управлять своими подключениями к базе данных и запросами через ООП в PHP, и я не очень хорош в этом. Я знаю, что я изобретаю колесо, но так мне нравится 🙂 Я использую три класса, включая синтаксический анализатор SQL, который я сам не сделал. Моя реализация возвращает объект при создании нового соединения. Этот объект […]
Почему этот класс autoload дублирует соединение db? class autoloader { private $directory_name; public function __construct($directory_name) { $this->directory_name = $directory_name; } public function autoload($class_name) { $file_name = 'class_'.strtolower($class_name).'.php'; $file = AP_SITE.$this->directory_name.'/'.$file_name; if (file_exists($file) == false) { return false; } include ($file); } } # nullify any existing autoloads spl_autoload_register(null, false); # specify extensions that may be […]
У меня здесь небольшая проблема. Я новичок в ООП, поэтому вопрос может звучать глупо, но я не нашел никакой полезной информации. Я пытаюсь войти в базу данных и поместить введенные пользователем значения внутри нее, и я хочу спросить вас, где я должен писать отчеты о подготовке и выполнении PDO? Я знаю, что они нужны, но […]
Я хотел бы иметь последний запрос (для целей отладки) из PDOStatement. Но я не могу переопределить методы bindParam и bindValue. Когда я попробовал код ниже, я получил: Неустранимая ошибка: значение по умолчанию для параметров с подсказкой типа класса может быть только NULL Затем я заменил PDO::PARAM_STR на null в списке параметров bindParam / bindValue, поэтому […]
Привет, я новичок в PDO с MYSQL, вот мои два файла: 1) index.php require_once 'prd.php'; try{ $db = new PDO ('mysql:host=xxxx;dbname=xxx;charset=utf8', 'xxx', 'xxxx'); echo 'connectd'; }catch(PDOException $conError){ echo 'failed to connect DB' . $conError->getMessage (); } $conn = new prdinfo(); $conn->con($db); 2) product.php class prdinfo{function con($db){ try{ foreach($db->query("select * from products where vendor_id = 2" […]