Задать вопрос
@Dark-Wolfi

Как послать запрос к БД и что бы бот выдал результат запроса?

Побывал реализовать так но выдает пустой результат
/** запрос к БД */
function get_udata($art){
	global $db;
	$res = array();
	$art = mysql_real_escape_string($art);
	$result = mysql_query("select * from `shop_url` where name='$art'",$db) or die("не удалось найти");;
	$arr = mysql_fetch_assoc($result);
    if(isset($arr['data_json'])){
		$res = json_decode($arr['data_json'], true);
	}
	
	return $res;
}
/**Вызов*//



$bot->on(function($Update) use ($bot){
	$message = $Update->getMessage();
	$mtext = $message->getText();
	$cid = $message->getChat()->getId();
	
	if(is_user_set($message->getFrom()->getUsername()) == false){
		make_user($message->getFrom()->getUsername(),$cid);
	}
			//$data1 = $message->getText();
			$data = get_udata($message->getText());
			$bot->sendMessage($message->getChat()->getId(), json_encode($data,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE));
		//json_encode($data,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE)
	
}, function($message) use ($name){
	return true; // когда тут true - команда проходит
});
  • Вопрос задан
  • 244 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Pavel333
Попробуй $art не ставить в одинарные кавычки в этой строке:
$result = mysql_query("select * from `shop_url` where name='$art'",$db) or die("не удалось найти");

А вообще лучше конечно использовать PDO и подготовленные запросы.
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Вангую, вы запутались во входных параметрах:
$data = get_udata($message->getText());
То есть, в качестве параметра передаёте текст сообщения (подразумевая, что автор функции getText назвал функцию не с потолка и она действительно возвращает текст).
В самой функции get_udata входной параметр называется $art (что за art: картина? искусство? artifact? article? artillery?)
При этом, в запросе вы сравниваете этот атрибут с полем под названием `name` (имя).
Я лично не вижу во всём этом никакой логики и подозреваю, что что-то не то либо передаёте, либо не с тем сравниваете.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы