Вход | Регистрация


Как вернуть параметров больше одного MYSQL параметров в PHP ?

Как вернуть параметров больше одного MYSQL параметров в PHP ?
Я
   antihacker
 
13.10.17 - 13:15
Всем привет !

Есть процедура в майсикл который возвращает несколько параметров. В PHPMyAdmin  процедура срабатывает без проблем. А вот не получаеться в PHP обращаться к этой процедуре.

Делаю так

        mysql_query("CALL prc_selected_page_version('".$_SESSION['selected_page_version_id']."',@prm_page_name,@prm_version_type,@prm_root_site_name);") or die(mysql_error());
        $result = mysql_query("SELECT @prm_page_name");
        echo mysql_result($result, 0);

Или надо по другому
 
 
   antihacker
 
1 - 13.10.17 - 13:21
Ав вот процедура

BEGIN
SELECT

dbdev_main_page_tbl.version_type,dbdev_main_page_tbl.version_name,dbroot_site_tbl.root_site_name,dbdev_main_page_tbl.from_root_site_id,dbroot_site_tbl.root_site_id,dbdev_main_page_tbl.main_page_id  

FROM dbdev_main_page_tbl,dbroot_site_tbl

where
dbdev_main_page_tbl.from_root_site_id = dbroot_site_tbl.root_site_id
and  

dbdev_main_page_tbl.main_page_id=prm_page_version_id;

SET @prm_page_name       =  (SELECT dbdev_main_page_tbl.version_name);
SET @prm_version_type    =  (SELECT dbdev_main_page_tbl.version_type);
SET @prm_root_site_name  =  (SELECT dbroot_site_tbl.root_site_name);
END
   asady
 
2 - 13.10.17 - 13:27
echo "CALL prc_selected_page_version('".$_SESSION['selected_page_version_id']."',@prm_page_name,@prm_version_type,@prm_root_site_name);";

что у тебя выводит?
   antihacker
 
3 - 13.10.17 - 13:35
Как что его как текст и выводит
   Asmody
 
4 - 13.10.17 - 13:36
(0) надо по-другому. надо читать мануал.
   antihacker
 
5 - 13.10.17 - 13:39
В инете что то по другому не нашел.
   Asmody
 
6 - 13.10.17 - 13:40
(5) Мануал вот здесь http://php.net/manual/ru/function.mysql-result.php
   antihacker
 
7 - 13.10.17 - 13:42
Там вообще про хранимых процедур ничего нету.
   antihacker
 
8 - 13.10.17 - 13:45
Вот это  работает без проблем

    mysql_query("CALL prc_add_main_page('".$_SESSION['Sroot_site_id']."','".$Selected_PageVersionName."',@last_id);") or die(mysql_error());
    $result = mysql_query("SELECT @last_id");
    $_SESSION['selected_page_version_id'] = mysql_result($result, 0);
   Asmody
 
9 - 13.10.17 - 13:47
(7) Хранимые процедуры вообще не при чём. Сделай через mysqlfetch*
   Asmody
 
10 - 13.10.17 - 13:47
mysql_fetch_*
 
 Рекламное место пустует
   antihacker
 
11 - 13.10.17 - 14:10
Спасибо. Получилось.

        $result = mysql_query("CALL prc_selected_page_version('".$_SESSION['selected_page_version_id']."',@prm_page_name,@prm_version_type);") or die(mysql_error());

        if (!$result) {echo 'Ошибка запроса: ' . mysql_error(); exit;}
        $row = mysql_fetch_row($result);

        echo $row[0]; // 42
        echo "/";
        echo $row[1]; // 42
        echo "/";
        echo $row[2]; // 42
   antihacker
 
12 - 13.10.17 - 14:12
Только вот если значение параметра на русском, то вопросительные знаки.
   Asmody
 
13 - 13.10.17 - 15:29
(12) кодировку смотри.
   Asmody
 
14 - 13.10.17 - 15:30
и вообще, используй mysqli*, а не mysql*
библиотека mysql_ считается устаревшей.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует