|
Как вернуть параметров больше одного MYSQL параметров в PHP ? | ☑ | ||
---|---|---|---|---|
0
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); Или надо по другому |
|||
1
antihacker
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 |
|||
2
asady
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);";
что у тебя выводит? |
|||
3
antihacker
13.10.17
✎
13:35
|
Как что его как текст и выводит
|
|||
4
Asmody
13.10.17
✎
13:36
|
(0) надо по-другому. надо читать мануал.
|
|||
5
antihacker
13.10.17
✎
13:39
|
В инете что то по другому не нашел.
|
|||
6
Asmody
13.10.17
✎
13:40
|
(5) Мануал вот здесь http://php.net/manual/ru/function.mysql-result.php
|
|||
7
antihacker
13.10.17
✎
13:42
|
Там вообще про хранимых процедур ничего нету.
|
|||
8
antihacker
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); |
|||
9
Asmody
13.10.17
✎
13:47
|
(7) Хранимые процедуры вообще не при чём. Сделай через mysqlfetch*
|
|||
10
Asmody
13.10.17
✎
13:47
|
mysql_fetch_*
|
|||
11
antihacker
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 |
|||
12
antihacker
13.10.17
✎
14:12
|
Только вот если значение параметра на русском, то вопросительные знаки.
|
|||
13
Asmody
13.10.17
✎
15:29
|
(12) кодировку смотри.
|
|||
14
Asmody
13.10.17
✎
15:30
|
и вообще, используй mysqli*, а не mysql*
библиотека mysql_ считается устаревшей. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |