Я пытаюсь понять разницу между запросами 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();
это мои настройки сервера в соответствии с запросом:
OS
Vista 64bit / PHP Версия 5.2.9
MySQLi
Поддержка MysqlI включена
Клиентская библиотека API версии 5.0.51a
Версия заголовка API клиента 5.0.51a
MYSQLI_SOCKET /tmp/mysql.sock
Директива Local Value Master Value
mysqli.default_host нет значения нет значения
mysqli.default_port 3306 3306
mysqli.default_pw нет значения нет значения
mysqli.default_socket нет значения нет значения
mysqli.default_user нет значения нет значения
mysqli.max_links Неограниченно Неограниченно
mysqli.reconnect Выкл. Выкл.