Работа с базой MySQL из WebAsyst SS

Aleeex

Создатель
Регистрация
5 Июн 2014
Сообщения
5
Реакции
0
Здравствуйте!

Не могу разобраться как работать с базой SQL из своего плагина, помогите пожалуйста.

Нужно ли подключаться к БД WebAsyst, если я работаю с его таблицей?
И как правильно отправлять запрос?
 
конкретнее задачу опишите, на вскидку разные плагины могут быть
 
В плагине пытаюсь вывести все записи из таблицы rec:

PHP:
$result_ad = $this->query("SELECT * from rec");

while($rowzak=mysql_fetch_array($result_ad)) {
echo $rowzak['id'];
}

Результат - пустая страница.

Мне нужно просто получить результат запроса в массив, из таблицы "rec" базы WebAsyst, плагин расположил в папке kernel\includes\smarty\plugins, с именем function.my.php:

PHP:
<?php
function smarty_function_my(){

$result_ad = $this->query("SELECT * from rec");

while($rowzak=mysql_fetch_array($result_ad)) {
echo $rowzak['id'];
}

}
?>
 
Последнее редактирование:
mysql_fetch_array во фреймворках не используют напрямую. Там есть свои функции, свой api для работы с бд - Для просмотра ссылки Войди или Зарегистрируйся

В частности, для твоего примера, скорее всего, надо написать так:
PHP:
$result_ad = $this->query("SELECT * from rec");
//$result_ad = $result_ad->fetchAll(); #возможно, что эту строчку надо раскомментировать
// Проходим по всем записям результата в цикле:
foreach ($result_ad as $row) {
    echo $row['id'];
}
 
К сожалению на WebAsyst 309 не работает. Это код не для WA 5 ?
 
К сожалению на WebAsyst 309 не работает. Это код не для WA 5 ?
Не проверял у меня WebAsyst даже не установлен :)

Делай тогда
PHP:
var_dump($result_ad);
и смотри что там лежит и какого типа
 
Не проверял у меня WebAsyst даже не установлен :)

Делай тогда
PHP:
var_dump($result_ad);
и смотри что там лежит и какого типа
Ничего не лежит, он пустой.

Получил сообщение об ошибке Using $this when not in object context.

Не проверял у меня WebAsyst даже не установлен :)

Делай тогда
PHP:
var_dump($result_ad);
и смотри что там лежит и какого типа

Удалось выполнить подключение и увидел, что var_dump ($row) -> string(21) "SELECT * from rec" т.е. просто строка.
 
Последнее редактирование модератором:
Вашу задачу можно выполнить несколькими методами.
Вот один из них
PHP:
$query = db_query("SELECT * FROM `rec`");
if ($query){
  while ($result = db_fetch_assoc($query)){
    echo $result['id'];
  }
}
 
Назад
Сверху