prepare () vs query () mysqli

Я пытаюсь понять разницу между запросами mysqli () и prepare (). У меня есть код, как показано ниже, и я хотел бы получить одинаковые результаты от обоих. Однако prepare () не работает должным образом. Почему?

  // this works

  if ($query = $this->db->query("SELECT html FROM static_pages WHERE page = 'cities'")) {

     $result = $query->fetch_row();
     echo $result[0];

  $query->close();

  }

  //this does not work
  //result is empty

     $cities = 'cities';

     $stmt = $this->db->prepare("SELECT html FROM static_pages WHERE page = ?");
     $stmt -> bind_param("s", $cities);
     $stmt->execute();
     $stmt->bind_result($result);
     $stmt->fetch();
     echo $result;
     $stmt->close();

     $this->db->close();

это мои настройки сервера в соответствии с запросом:

ОС

Vista 64bit / PHP Версия 5.2.9

mysqli

Поддержка MysqlI включена

Клиентская библиотека API версия 5.0.51a

Клиент Версия заголовка API 5.0. Вы добавили (о которых пока ничего не знает Perforce), чтобы я мог быть уверен, что не пропустил ни одного в своей ревизии?

Что-то вроде 'svn status | grep ^ \? ' или 'git status', чтобы показать неустановленные, неизвестные файлы.

Спасибо! -Casey

5
задан engtech 9 February 2011 в 19:21
поделиться