Вопросы с тегом «pdo»

PDO (объекты данных PHP) - это уровень (интерфейс) абстракции доступа к данным для PHP. Он работает с большинством систем баз данных.

660
Достаточно ли подготовленных операторов PDO для предотвращения внедрения SQL?

Допустим, у меня есть такой код: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); Документация PDO гласит: Параметры для подготовленных утверждений не должны быть указаны;...

562
Могу ли я связать массив с условием IN ()?

Мне любопытно узнать, возможно ли привязать массив значений к заполнителю с помощью PDO. Вариант использования здесь пытается передать массив значений для использования с IN()условием. Я хотел бы иметь возможность сделать что-то вроде этого: <?php $ids=array(1,2,3,7,8,9); $db = new PDO(...);...

342
MySQL или PDO - каковы плюсы и минусы? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

320
PDOException SQLSTATE [HY000] [2002] Нет такого файла или каталога

Я считаю, что я успешно развернул свой (очень простой) сайт на fortrabbit, но как только я подключаюсь к SSH для выполнения некоторых команд (например, php artisan migrateили php artisan db:seed), я получаю сообщение об ошибке: [PDOException] SQLSTATE[HY000] [2002] No such file or directory В...

292
PDOException «не удалось найти драйвер»

Я только что установил Debian Lenny с Apache, MySQL и PHP, и я получаю исключение PDOException could not find driver. Это конкретная строка кода, на которую она ссылается: $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS) DB_HOST, DB_NAME, DB_USER, И DB_PASSявляются...

243
Могут ли операторы PHP PDO принимать имя таблицы или столбца в качестве параметра?

Почему я не могу передать имя таблицы в подготовленный оператор PDO? $stmt = $dbh->prepare('SELECT * FROM :table WHERE 1'); if ($stmt->execute(array(':table' => 'users'))) { var_dump($stmt->fetchAll()); } Есть ли другой безопасный способ вставить имя таблицы в запрос SQL? С безопасным,...

192
Количество строк с PDO

Есть много противоречивых утверждений вокруг. Каков наилучший способ подсчета строк с использованием PDO в PHP? До использования PDO я просто пользовался mysql_num_rows. fetchAll это то, чего я не хочу, потому что иногда я имею дело с большими наборами данных, поэтому не подходит для моего...

189
PHP PDO: кодировка, набор имен?

Я имел это ранее в моем обычном соединении mysql_ *: mysql_set_charset("utf8",$link); mysql_query("SET NAMES 'UTF8'"); Нужно ли это для PDO? И где я должен это иметь? $connect = new PDO("mysql:host=$host;dbname=$db", $user, $pass, array(PDO::ATTR_ERRMODE =>...

181
Каковы недостатки использования постоянного подключения в PDO

В PDO соединение можно сделать постоянным с помощью PDO::ATTR_PERSISTENTатрибута. Согласно руководству по PHP - Постоянные соединения не закрываются в конце сценария, но кэшируются и используются повторно, когда другой сценарий запрашивает подключение с использованием тех же учетных данных....

178
Ошибка миграции Laravel: синтаксическая ошибка или нарушение прав доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа 767 байт

Ошибка миграции на Laravel 5.4 с php artisan make:auth [Illuminate \ Database \ QueryException] SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа составляет 767 байт (SQL: изменить таблицу, usersдобавить уникальный...

158
PDO получить последний вставленный идентификатор

У меня есть запрос, и я хочу вставить последний идентификатор. Идентификатор поля - это первичный ключ и автоинкремент. Я знаю, что я должен использовать это утверждение: LAST_INSERT_ID() Это утверждение работает с запросом, подобным этому: $query = "INSERT INTO `cell-place` (ID) VALUES...

146
PDO Prepared Вставляет несколько строк в одном запросе

В настоящее время я использую этот тип SQL на MySQL, чтобы вставить несколько строк значений в один запрос: INSERT INTO `tbl` (`key1`,`key2`) VALUES ('r1v1','r1v2'),('r2v1','r2v2'),... В чтениях по PDO операторы, подготовленные к использованию, должны обеспечить мне большую безопасность, чем...

142
Как отлаживать запросы к базе данных PDO?

Перед тем как перейти к PDO, я создал SQL-запросы в PHP путем объединения строк. Если я получил синтаксическую ошибку базы данных, я мог бы просто повторить последнюю строку запроса SQL, попробовать ее сам в базе данных и настроить ее, пока не исправлю ошибку, а затем вернуть ее в код....

129
Запрос PDO против выполнения

Они оба делают одно и то же, только по-разному? Есть ли разница, кроме использования prepareмежду $sth = $db->query("SELECT * FROM table"); $result = $sth->fetchAll(); и $sth = $db->prepare("SELECT * FROM table"); $sth->execute(); $result = $sth->fetchAll();...

128
В чем разница между MySQL, MySQLi и PDO? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 7 лет назад . Уточните этот вопрос В чем разница между MySQL, MySQLi и PDO...

123
MySQL проверяет, существует ли таблица, не вызывая исключения

Каков наилучший способ проверить, существует ли таблица в MySQL (предпочтительно через PDO в PHP), не вызывая исключения. Мне не хочется разбирать результаты "ПОКАЗАТЬ ТАБЛИЦЫ КАК" и так далее. Должен быть какой-то логический...

121
PDO закрывающее соединение

Просто довольно простой вопрос относительно PDO по сравнению с MySQLi. С MySQLi, чтобы закрыть соединение, вы можете: $this->connection->close(); Однако с PDO он заявляет, что вы открываете соединение, используя: $this->connection = new PDO(); но чтобы закрыть установленное вами соединение...

117
PDO MySQL: использовать PDO :: ATTR_EMULATE_PREPARES или нет?

Вот о чем я читал до сих пор PDO::ATTR_EMULATE_PREPARES: Эмуляция подготовки PDO лучше с точки зрения производительности, поскольку собственная подготовка MySQL обходит кеш запросов . Собственная подготовка MySQL лучше для безопасности (предотвращение SQL-инъекций) . Собственная подготовка MySQL...