У меня проблема с подготовленным оператором UPDATE, просмотренным повсюду, просматривается здесь вопрос, и синтаксис кажется правильным, чего я не вижу?Проблема с подготовленным оператором UPDATE в PHP
$update_page = $db->stmt_init();
$update_page = $db->prepare ("
UPDATE pages
SET page_title = ?, meta_description = ?, meta_keywords = ?, $content = ?
WHERE page_uri = ?
");
$update_page->bind_param('sssss', $page_title, $meta_description, $meta_keywords, $content, $page_uri);
$update_page->execute();
Это бросает мне
Fatal error: Call to a member function bind_param() on a non-object
со ссылкой на линию 4 (одна над последней строкой).
@Gaurav: вот полный код - У меня есть на этой странице как SELECT, и UPDATE заявление, SELECT работы:
if (!isset($page_uri))
{
$page_uri = 'home';
}
if (isset($_POST['update']))
{
$page_title = htmlspecialchars($_POST['page_title']);
$meta_description = htmlspecialchars($_POST['meta_description']);
$meta_keywords = htmlspecialchars($_POST['meta_keywords']);
$content = htmlspecialchars($_POST['content']);
$update_page = $db->stmt_init();
$update_page->prepare ("
UPDATE pages
SET page_title = ?, meta_description = ?, meta_keywords = ?, $content = ?
WHERE page_uri = ?
");
$update_page->bind_param('sssss', $page_title, $meta_description, $meta_keywords, $content, $page_uri);
$update_page->execute();
}
$select_page = $db->stmt_init();
$select_page = $db->prepare ("
SELECT page_id, page_title, meta_description, meta_keywords, content, sidebar
FROM pages
WHERE page_uri = ?
LIMIT 1
");
$select_page->bind_param('s', $page_uri);
$select_page->execute();
$select_page->bind_result($page_id, $page_title, $meta_description, $meta_keywords, $content, $sidebar);
$select_page->fetch();
$page_title = htmlspecialchars_decode($page_title, ENT_QUOTES);
$meta_description = htmlspecialchars_decode($meta_description, ENT_QUOTES);
$meta_keywords = htmlspecialchars_decode($meta_keywords, ENT_QUOTES);
$content = htmlspecialchars_decode($content, ENT_QUOTES);
Что показывает ваш phpinfo() в случае mysqli? – egis
Кстати, покажите код, в котором вы инициируете объект $ db. Возможно, база данных не выбрана;) – egis
@egis - это весь код: $ db = new mysqli (DBHOST, DBUSER, DBPASS, DATABASE); - о phpinfo(), что я должен искать, у меня есть mysqli, знаю, что на самом деле есть ли что-нибудь еще, что нужно ухаживать? – CodeVirtuoso