Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: запрос
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » запрос

Страниц (1): [1]
 

1. Ovosh - 13 Января, 2009 - 21:48:40 - перейти к сообщению
Здравствуйте!
Пытаюсь вызвать ХП из пхп так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $link = mysql_connect("localhost","root","");
  4. $dbname = "test";
  5. mysql_select_db($dbname, $link);
  6.  
  7.  
  8. $query = 'DELIMITER ; set @stri="(1,privet),(2,poka)"; call test_ins(@stri);';
  9.  
  10. $res = mysql_query($query);
  11.  
  12. echo $query;
  13. ?>
  14.  

Вот код ХП:

CODE (text):
скопировать код в буфер обмена
  1.  
  2. CREATE DEFINER=`root`@`localhost` PROCEDURE `test_ins`(ins_val varchar(21000))
  3. begin
  4. set @var = concat('insert into test1 values', ins_val);
  5. prepare zxc from @var;
  6. execute zxc;
  7. end;
  8.  
  9.  

Если через клиент MySQL то запрос нормально работает.
Ничего не выходит! Помогите!
2. Вездеход - 13 Января, 2009 - 23:22:17 - перейти к сообщению
Ovosh, советовать ниче не буду, но када я пускал процедуры через php - то тоже ниче не работало =)
а через phpmyadmin - нормально все

так что хз.. жди гуру =)
3. Ыыы - 14 Января, 2009 - 05:47:06 - перейти к сообщению

Скажите, мне, для чего нужны процедуры в sql? o.0
4. Champion - 14 Января, 2009 - 08:43:26 - перейти к сообщению
Переходите на Interbase или firebird))
Ovosh пишет:
$query = 'DELIMITER ; set @stri="(1,privet),(2,poka)"; call test_ins(@stri);'
А разве можно так сразу несколько команд писать в mysql_query? Сделайте
$stri = '\'privet\'';
$query = 'call test_ins(.$stri.)';

И не плохо бы сообщить ошибку, которую выводит php.
В Firebird я б сразу и точно расскзал)
(Добавление)
Ыыы пишет:
Скажите, мне, для чего нужны процедуры в sql?
Для того же, для чего и в любой другой СУБД...
5. Ыыы - 14 Января, 2009 - 09:10:01 - перейти к сообщению
Цитата:
Для того же, для чего и в любой другой СУБД...

Видимо не правильно выразился... Я имел ввиду зачем вообще нужны процедуры?
6. valenok - 14 Января, 2009 - 14:35:49 - перейти к сообщению
За тем-же, зачем нужны функции в php
Что касается самой ф-ции, то mysql_query может выполнить лишь одну команду за раз.

 

Powered by ExBB FM 1.0 RC1