mysql. вызов процедуры с параметрам ID

282
31 июля 2017, 14:05

Доброго времени суток ... Не получается выполнение процедуры. Подскажите как длелать выборку новости по ее ID.

 $query = "CREATE PROCEDURE `post` (IN id INT(11)) 
 LANGUAGE SQL DETERMINISTIC 
 SQL SECURITY DEFINER COMMENT 'select post' 
 BEGIN SELECT * FROM `cute_news` JOIN `cute_story` USING(`id`) WHERE `id` = id OR `url` = id;
 END";
 $query = mysqli_query ($query);
 $query = mysqli_query("CALL post($id)");
 $row   = mysqli_fetch_array($query);
 echo $row['title'];

Код выдает всегда только первый пост с ID =1

Answer 1

Вот решение:

$query = "CREATE PROCEDURE `post` (IN post INT(11)) 
LANGUAGE SQL DETERMINISTIC 
SQL SECURITY DEFINER 
COMMENT 'выделить один пост по ID' 
BEGIN 
SET @id = post;
SELECT * FROM `news` JOIN `story` USING(`id`) WHERE `id`=post OR `url`=post;
END";
$query = mysqli_query ($query);

$post = mysqli_query("CALL post($id)");
$post = isset($id) ? reset($post) : [];
var_dump($post);

Так ... но почему-то пропадают другие SQL запросы

READ ALSO
Шифрование cooбщeний

Шифрование cooбщeний

Как шифровать сообщения пользователей (чтобы они не были читабельны в базе данных mysql) которые переписываются между собой, и конечно же сделать...

237
MediaWiki 1.29. Как установить внешние зависимости?

MediaWiki 1.29. Как установить внешние зависимости?

Используется Windows 7; Сервер - OpenSerwer; Apache - 242 x64; Php - 5

267
Класс уничтожается прежде, чем нужно. Как правильно его закрепить?

Класс уничтожается прежде, чем нужно. Как правильно его закрепить?

Класс уничтожается прежде, чем нужноКак правильно его закрепить в памяти? Занести его объект в какой либо список?

261