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

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

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

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


13
MySQL или PDO - каковы плюсы и минусы? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

30
PDOException SQLSTATE [HY000] [2002] Нет такого файла или каталога
Я считаю, что я успешно развернул свой (очень простой) сайт на fortrabbit, но как только я подключаюсь к SSH для выполнения некоторых команд (например, php artisan migrateили php artisan db:seed), я получаю сообщение об ошибке: [PDOException] SQLSTATE[HY000] [2002] No such file or directory В какой-то момент миграция, должно быть, сработала, …
320 php  mysql  laravel  pdo 

30
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являются константами , которые я определены. …
292 php  mysql  pdo  lamp 

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

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

10
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 => PDO::ERRMODE_EXCEPTION));
189 php  mysql  pdo 

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

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

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

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

18
Как отлаживать запросы к базе данных PDO?
Перед тем как перейти к PDO, я создал SQL-запросы в PHP путем объединения строк. Если я получил синтаксическую ошибку базы данных, я мог бы просто повторить последнюю строку запроса SQL, попробовать ее сам в базе данных и настроить ее, пока не исправлю ошибку, а затем вернуть ее в код. Подготовленные …
142 php  sql  pdo 


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.