Articles of pdo

Как я могу правильно использовать объект PDO для параметризованного запроса SELECT

Я пробовал следовать инструкциям PHP.net для выполнения запросов SELECT но я не уверен, что это лучший способ сделать это. Я хотел бы использовать параметризованный запрос SELECT , если возможно, чтобы вернуть ID в таблице, где поле name соответствует параметру. Это должно вернуть один ID потому что он будет уникальным. Затем я хотел бы использовать этот […]

PDO bindParam против выполнения

Я часто вижу код с помощью bindParam или bindValue с PDO. Просто передайте аргументы для того, чтобы нахмуриться по какой-либо причине? Я понимаю, что bindParam фактически привязывается к переменным и вы можете установить тип параметра, связанный с двумя методами bind , но что, если вы только вставляете строки? $query = "SELECT col1 FROM t1 WHERE […]

Использование PDO в классах

У меня есть несколько классов, которые выполняют некоторые MySQL-запросы и подготовленные операторы. Тем не менее, я теряюсь в том, как включить мой объект PDO в эти классы. Например, я хочу сделать что-то вроде этого: <?php $dbh = new PDO(…); class Foo extends PDO { public $dbh; public function bar() { $this->dbh->prepare('SELECT * FROM table'); $this->dbh->execute(); […]

Как избежать одиночной кавычки (апостроф) в строке, используя php

У меня есть SQL-запрос: $stmt = $pdo->prepare( "SELECT * FROM `products_keywords` WHERE `product_type` = '" . $product_type . "' "); Я не знаю, что будет значением в переменной $ product_type . Но теперь я получаю мужскую рубашку в переменной $ product_type, которая вызывает синтаксическую ошибку в моем SQL-запросе. Я уверен, что эта ошибка связана с […]

Получение соединения PHP PDO из mysql_connect ()?

У меня есть устаревшее приложение PHP / MySQL, которое вызывает mysql_connect (). Тонны существующего нисходящего кода делают mysql_query() напрямую или через обертку, используя это соединение. Для нового кода, который я разрабатываю в приложении, я хотел бы начать использовать PDO. Если я сделаю PDO-соединение с использованием тех же учетных данных host / user / pass / […]

PDO: вызов функции-члена функции fetch () для не-объекта?

Я просто пытаюсь выполнить PDO, и я получаю эту ошибку. Fatal error: вызов функции-члена функции fetch () для не-объекта, но разве он уже не находится в объекте $ this-> db? class shoutbox { private $db; function __construct($dbname, $username, $password, $host = "localhost" ) { # db conections try { $this->db = new PDO("mysql:host=".$hostname.";dbname=".$dbname, $username, $password); […]

PDO / PHP – проверьте, существует ли строка

Я хочу иметь условие, чтобы строка не существовала вообще. $stmt = $conn->prepare('SELECT * FROM table WHERE ID=?'); $stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); Пробовал if (count($row) == 0) и if($stmt->rowCount() < 0) но ни один из них не работает.

Каков наилучший способ привязки значений десятичных / двойных / плавающих значений с PDO в PHP?

Похоже, что константы класса охватывают только PDO::PARAM_BOOL , PDO::PARAM_INT и PDO::PARAM_STR для привязки. Вы просто связываете десятичные / float / double значения как строки или есть лучший способ их лечения? MySQLi позволяет использовать тип 'd' для двойки, и это удивительно, что PDO не имеет эквивалента, когда кажется, что это лучше для многих других способов.

Проверка пустого результата (php, pdo, mysql)

Пожалуйста, может кто-нибудь сказать мне, что я здесь делаю неправильно? Я просто извлекаю результаты из таблицы, а затем добавляю их в массив. Все работает так, как ожидается, пока я не проверю пустой результат … Это получает совпадение, добавляет его в мой массив и повторяет результат, как и ожидалось: $today = date('Ym-d', strtotime('now')); $sth = $db->prepare("SELECT […]

PHP меняет старый mysql_query на PDO

У меня есть несколько старых запросов mysql_query в моем коде, который я хочу преобразовать в PDO, но я изо всех сил стараюсь работать. мой оригинальный код был: mysql_query("UPDATE people SET price='$price', contact='$contact', fname='$fname', lname='$lname' WHERE id='$id' AND username='$username' ") or die(mysql_error()); теперь я пытаюсь: $sql = "UPDATE people SET price='$price', contact='$contact', fname='$fname', lname='$lname' WHERE id='$id' […]