Articles of pdo

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));

Как использовать хеширование паролей с помощью PDO, чтобы сделать мой код более безопасным?

Мой код действительно работает, но он совсем не защищен, я не хочу использовать MD5, поскольку он не все настолько безопасен. Я искал хэширование паролей, но я не уверен, как включить его в свой код. Авторизоваться: require_once __DIR__.'/config.php'; session_start(); $dbh = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_USERNAME, DB_USERNAME, DB_PASSWORD); $sql = "SELECT * FROM […]

pdo – вызов функции-члена prepare () для не-объекта

Этот код получает ошибку : Неустранимая ошибка: вызов функции-члена prepare () для не-объекта в C: \ Users \ fel \ VertrigoServ \ www \ login \ validation.php в строке 42 КОД: function repetirDados($email) { if(!empty($_POST['email'])) { $query = "SELECT email FROM users WHERE email = ?"; $stmt = $pdo->prepare($query); // error line: line 42 $email […]

php pdo: получить имя столбца таблицы

Как получить все имена столбцов из таблицы с помощью PDO? id name age 1 Alan 35 2 Alex 52 3 Amy 15 Информация, которую я хочу получить, id name age РЕДАКТИРОВАТЬ: Вот моя попытка, $db = $connection->get_connection(); $select = $db->query('SELECT * FROM contacts'); $total_column = $select->columnCount(); var_dump($total_column); for ($counter = 0; $counter < $total_column; $counter […]

Замена функций mysql_ * с помощью PDO и подготовленных операторов

Я всегда делал простое соединение mysql_connect , mysql_pconnect : $db = mysql_pconnect('*host*', '*user*', '*pass*'); if (!$db) { echo("<strong>Error:</strong> Could not connect to the database!"); exit; } mysql_select_db('*database*'); При использовании этого я всегда использовал простой метод для удаления любых данных перед тем, как сделать запрос, будь то INSERT , SELECT , UPDATE или DELETE с помощью […]

SQLSTATE : недопустимый номер параметра: параметр не определен

// BUILD VALUES $count = count($matches); for($i = 0; $i < $count; ++$i) { $values[] = '(?)'; } // INSERT INTO DATABASE $q = $this -> dbc -> prepare("INSERT INTO hashes (hash) VALUES " . implode(', ', $values) . " ON DUPLICATE KEY UPDATE hash = hash"); $q -> execute($matches); Приведенный выше код не выполняется […]

Множественные запросы PDO

Начиная с версии PHP версии 5.3 драйвер PDO_MYSQL был перезаписан в пользу PDO_MYSQLND . Он ввел поддержку нескольких запросов. Хотя, я не могу понять, как получить оба набора результатов, если прошло более одного запроса SELECT . Оба запроса выполнены, не может быть, что второй был просто сбрасыван. $db->query("SELECT 1; SELECT 2;")->fetchAll(PDO::FETCH_ASSOC); Возвращает: array(1) { [0]=> […]

Ошибка ввода PHP / SQL при использовании именных заполнителей

У меня есть следующий PHP PDO-оператор: $STH = $this->_db->prepare("INSERT INTO UserDetails (FirstName, LastName, Address, City, County, PostCode, Phone, Mobile, Sex, DOB, FundraisingAim, WeeksAim, LengthsAim, HearAboutID, MotivationID, WelcomePackID, ContactPrefID, TitleID) VALUES (:firstName, :lastName, :address, :city, :county, :postCode, :phone, :mobile, :sex, :DOB, :fundraisingAim, :weeksAim, :lengthsAim, :hearAbout, :motivation, :welcomePackPref, :contactPref, :title)"); $STH->execute($userData); Где $userData – ассоциативный массив. Я […]

Почему функции mysql_ PHP устарели?

Играя Адвоката Дьявола здесь немного, так как я прекратил использовать эти функции некоторое время назад, но вопрос является подлинным и, вероятно, имеет значение для многих пользователей SO. Мы все знаем, что использование mysql_ функций неправильным образом может быть очень опасным, оно может оставить ваш сайт уязвимым и т. Д., Но правильно использовать эти функции можно […]

Получить (или смоделировать) полный запрос из подготовленного оператора PDO

Я наткнулся на этот вопрос два года назад. Есть ли способ получить необработанную строку SQL, выполняемую при вызове PDOStatement :: execute () в подготовленном заявлении? Для целей отладки это было бы чрезвычайно полезно. В выигрышном ответе говорится, что […] Вы также можете получить то, что хотите, если вы установите атрибут PDO PDO :: ATTR_EMULATE_PREPARES. В […]