Заставить заявления PDO работать - PullRequest
0 голосов
/ 27 октября 2011

Я использовал стандартную mysql_real_escape_string (); и ему сказали, что это безопасно, но также сказали, что PDO обеспечивает лучшую безопасность, поэтому, используя этот вид сценария ниже:

Код:

 <?php
  $db = new PDO('mysql:host=hostname;dbname=defaultDbName',
          'username', 'password',
          array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

  $query = 'SELECT * FROM my_table WHERE title = :title';

  $stmt = $db->prepare($query);
  $stmt->bindValue(':title', $myTitle);
  $stmt->execute();

  while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  // ...
  }
  ?>

Мои вопросы:

Должен ли я использовать $ db вместо использования include ("config.php"); и могу ли я использовать файл конфигурации в стандартном формате?

Как отобразить строки, используя запрос выше? Должен ли я просто просто $ что-то = $ row ['title']; в течение времени {}?

И, я делаю это правильно?

1 Ответ

0 голосов
/ 27 октября 2011

Независимо от того, используете ли вы PDO или какой-либо другой API, использующий заполнители в вашем SQL (например, :title), вы остановите любое количество атак SQL-инъекций.

И да, $ row {'columnname'] или $ row [1] будут получать значения для каждого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...