Пока вы обрабатываете данные соответствующим образом для ваших запросов, у вас нет для использования PDO / подготовленных операторов. Хотя , я бы лично рекомендовал использовать операторы PDO / подготовленные просто потому, что они облегчают разработку / отладку, а подготовленные операторы предотвращают попадание некорректных типов данных в запрос.
Если вы хотите узнать больше о том, как создать простую подготовленную инструкцию, обратитесь к функции sprintf
. Вы просто заменяете любые переменные строки, целые числа и т. Д. Спецификатором типа (в данном случае %s
и %d
соответственно).
Так, например, в следующем запросе я знаю, что id
будет целым числом (оно будет числовым), а name
будет строкой (буквенно-цифровым).
$username = 'Simon';
$id = 3;
$query = "SELECT FROM `users` WHERE `id` = {$id} AND `name` = '{$username}'";
Если я получаю любую из этих переменных из ненадежного источника (такого как POST / GET), тогда я могу убедиться, что они являются правильными типами данных, заменив последнюю строку (набор запросов $) на sprintf
звоните так:
$username = 'Simon';
$id = 3;
$query = sprintf( "SELECT FROM `users` WHERE `id` = %d AND `name` = '%s'", $id, $username );
sprintf
просто не позволит мне использовать строку для $ id или целое число для $ name при его вызове, что гарантирует получение правильных типов данных (это дает мне немного больше безопасности). Если даны неправильные типы данных, то Я полагаю, приведёт переменные к запрошенному типу.
Чтобы узнать больше о sprintf
посетите здесь: http://php.net/sprintf
Надеюсь, это достаточно объяснит (это мой первый ответ):).