Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функцию оформить с mysql запросами ...
 
 автор: oppo   (02.08.2005 в 02:41)   письмо автору
 
 

Код кот. ниже мне нужно использовать в скрипте несколько раз .Для удобства решил оформить его в виде функции и вставлять где надо.Но выходит ошибка .

  function op(){
$mod=htmlspecialchars($CURRENT_PIC_DATA['aid'])     ;
require ("../configuration.php");
$db_host              =$mosConfig_host;
$db_database       =$mosConfig_db;
$table_pfx            =$mosConfig_dbprefix;
$db_user              = $mosConfig_user;
$db_pass              =$mosConfig_password;
mysql_connect ($db_host, $db_user, $db_pass)or die( 'Для мамбо это' );

$sql = "SELECT obj_id, id,obj_title FROM {$table_pfx}estateagent_object WHERE $mod=obj_id " ;
$result = db_query($sql);
 if (!mysql_num_rows($result))
    {
      echo"";
    } else {
$row = mysql_fetch_array($result);
 $link = ($mosConfig_live_site."/index.php?option=com_estateagent&Itemid=37&func=showObject&objid=$row[1]");
  $href="<a href=\"".$link."\">Посмотреть попу<B>$row[2]</B></a>";
mysql_free_result($result);    }}
             
echo(op()); // выводит There was an error while processing a database query 

хотя примеры http://www.softtime.ru/bookphp/gl5_1.php вместо этой функции работают :) .

   
 
 автор: Loki   (02.08.2005 в 11:24)   письмо автору
 
   для: oppo   (02.08.2005 в 02:41)
 

хм... а не может это быть из-за того, что вы неправильно обращаетесь к ассоциированному массиву? попробуйте так:

$link = ($mosConfig_live_site."/index.php?option=com_estateagent&Itemid=37&func=showObject&objid=$row['obj_id']"); 
  $href="<a href=\"".$link."\">Посмотреть попу<B>$row['obj_title']</B></a>";

и еще, mysql_free_result($result); у вас уничтожает результаты запроса после первого прохода цикла. ее надо убрать.

   
 
 автор: HoLsT   (02.08.2005 в 11:30)   письмо автору
 
   для: Loki   (02.08.2005 в 11:24)
 

По моему в самой переменной query ошибка. У тебя как таблица называется?

И еще одно. А где выбор базы данных. Ты к серверу то коннектишься, а базу вроде нигде не выбрал.

   
 
 автор: oppo   (02.08.2005 в 12:19)   письмо автору
 
   для: Loki   (02.08.2005 в 11:24)
 

если так ставить $row['obj_id'] то - ошибка надо выбирать по номеру ряда $row[1] , а не по имени $row['obj_id']

   
 
 автор: P@Sol   (02.08.2005 в 11:26)   письмо автору
 
   для: oppo   (02.08.2005 в 02:41)
 

а что за ошибку выдает?

   
 
 автор: oppo   (02.08.2005 в 11:52)   письмо автору
 
   для: P@Sol   (02.08.2005 в 11:26)
 

Спасибо за ответы ..
Дело в том что это все работает если убрать function op(){ } и просто вставлять после вышеприведенного кода в нужном месте

$pic_html .= "  <CENTER>$href</CENTER><BR>";

А вообще этот кусок вставлен в код Coppermine Photo Gallery для связи данных из компонента для Мамбо настройки для базы тянуться по require
>а что за ошибку выдает?
There was an error while processing a database query

   
 
 автор: oppo   (02.08.2005 в 15:08)   письмо автору
 
   для: oppo   (02.08.2005 в 11:52)
 

А где великий и ужастный cheops ?
Дело в том что я не первый раз сталкиваюсь - когда надо оформить функцию , чтоб для базы все бралось по по require...и ни разу не работало ..Видно не передаються данные для соеденения базы..

   
 
 автор: cheops   (02.08.2005 в 19:11)   письмо автору
 
   для: oppo   (02.08.2005 в 15:08)
 

Дескрипторы должны и через функции предаваться - не могу понять где формируется и выводится запись
There was an error while processing a database query

В коде её вроде нет, вызова функции mysql_error() тоже не видно...

   
 
 автор: oppo   (02.08.2005 в 22:33)   письмо автору
 
   для: cheops   (02.08.2005 в 19:11)
 

Ну да это сообщение берется из встроенной функции галереи ...

        global $CONFIG;

        if (!$CONFIG['debug_mode']) {
            cpg_die(CRITICAL_ERROR, 'There was an error while processing a database query', __FILE__, __LINE__);

Путь такой:
mambo (файл configuration.php) /сoppermine(файл displayimage.php в кот . я вставляю свой код).
Я пробывал стандартно подключаться к базе в этом варианте : например

     $result3 = mysql_query("SELECT obj_id, id,obj_title FROM {$mosConfig_dbprefix}estateagent_object WHERE $mod=obj_id");

    while ($row = mysql_fetch_array($result3)) {
      echo  $row[0],$row[1],$row[3]; 
        }
- были ошибки , потом взял кусок кода из самого этого файла галереи убрал ненужные там WHERE и прочее .....
САМ ФАЙЛ из галереи с моим дополнением (немножко подправил) прикрепил .Строка 204 //oppo
Будет минутка гляньте.Вообще я пробывал и для других модулей сделать функцию где бы было подключение к базе через require и не работало....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования