Intereting Posts
Как скопировать ArrayIterator, чтобы сохранить текущую позицию итерации? OpenCart – не отправлять электронные письма (уведомления или контактную страницу) Передайте выбранные значения даты с datepicker на php Подготовленные утверждения возможны, если mysqli и PDO недоступны? Контроллер расширения Codeigniter, контроллер не найден Изображения как ссылки в базе данных MySQL? Мне нужен сайт для тестирования Facebook Connect? Jquery принимает последний результат как значение Вставить в 2 таблицы с PDO MySQL Максимальная длина сгенерированного хэша при использовании пароля_шиба? openssl_free_key ожидает, что параметр 1 будет ресурсом Отсутствие повышения производительности с APC на WampServer Отправлять электронные письма с использованием международного акцента и специальных символов чтение блока строк в файле с использованием php Artisan служит для отправки активов с включенными заголовками ответов

mysql_real_escape_string с PDO PHP

Привет, я новичок в PDO, поэтому запутался и получил ошибки;) с mysql_real_escape_string ..

может кто-нибудь помочь, вот мой код

if(!empty($_POST) && isset($_POST)) { include ('connection_pdo.php'); $dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $source_url= mysql_real_escape_string($_POST['source_url']); $class = mysql_real_escape_string($_POST['class']); $year = mysql_real_escape_string($_POST['year']); $date = time(); $ip = $_SERVER['REMOTE_ADDR']; $insert = $dbh->prepare(" INSERT IGNORE INTO school_students_images ( folder_name, image_url, source_url, class, year , date , ip ) VALUES (:folder_name, :image_url, :source_url, :class, :year, :date, :ip) "); $a=0; while ($a<1000){ $a++; $insert->execute(array( 'folder_name'=> $name->content, //** geting from other source 'image_url' => $link[$a], //** geting from other source 'source_url' => $source_url, 'class' => $class , 'year' => $year , 'date' => $date, 'ip' => $ip )); } 

он не работает, получая ошибку, но если я использую его без вывода

  $source_url= ($_POST['source_url']); $class = ($_POST['class']); $year = ($_POST['year']); $date = time(); $ip = $_SERVER['REMOTE_ADDR']; 

он работает … так что я запутался, безопасно ли POST без mysql_real_escape_string в базу данных? (PDO дает любую защиту по умолчанию?), или я делаю некоторые ошибки в этом … пожалуйста, помогите

Related of "mysql_real_escape_string с PDO PHP"

Да, PDO автоматически ускользает от ваших данных, поэтому вам не нужно использовать mysql_real_escape_string . См. Здесь , например.

mysql_real_escape_string требует активного соединения mysql выполненного с помощью вызова mysql_connect ранее … Так что да, это не сработает.

PDO делает это автоматически для вас в любом случае

С подготовленными заявлениями вам не нужно избегать переменных. Драйвер сделает это автоматически, в зависимости от базы данных, которую вы используете под ней. На самом деле вы не должны убегать от него сами, так как это удвоит его.