Мне нужно получить уровень доступа для текущей страницы на сайте Joomla. Я могу получить идентификатор страницы с помощью:Получите одно значение из базы данных MySQL, используя PHP
/* Define $jinput */
$jinput = JFactory::getApplication()->input;
/* Get the current page id */
$page= $jinput->get('id');
Теперь я хочу, чтобы запросить базу данных, чтобы вернуть уровень доступа для текущей страницы. Содержимое таблицы выглядит следующим образом:
page_id | access | ...
1234 | 10 |...
Так страница 1234 имеет идентификатор доступа 10. Это то, что я пытался получить 10: /* Открыть соединение */
$link=mysqli_connect('localhost','user','pass');
if(!$link){
echo "No connection";
exit();
}
if (!mysqli_set_charset($link, 'utf8'))
{
echo 'Unable to set database connection encoding.';
exit();
}
if(!mysqli_select_db($link, 'datab')){
echo "Can't find database";
exit();
};
/* Find the access level of the current page */
$query = "SELECT access FROM content WHERE id=$page";
try {
$result=$link->query($query);
}
catch (PDOException $e){
$error="Error".$e->getMessage();
exit();
}
$row=mysql_fetch_array($result);
Это кажется невероятно сложно получить одно значение со страницы, но это не сработает! Я знаю, что запрос правильный, потому что я тестировал его в PHP, мой админ.
Пожалуйста, помогите, спасибо!
Почему вы используете '' mysqli_ * для доступа к базе данных? Сначала прочитайте [Документы Joomla] (http://docs.joomla.org/Selecting_data_using_JDatabase) – Lodder
Потому что я всегда теряюсь в документации Joomla. Я знаю, что могу использовать $ link = JFactory :: getDbo(); но результат тот же. Есть ли быстрый способ добраться до уровня доступа к странице? Например: $ page = $ jinput-> get ('access'); –
Какую версию Joomla вы используете? – Lodder