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

Форум MySQL

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

 

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

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

тема: Вложенный цикл и ODBC
 
 автор: Front   (23.05.2008 в 09:55)   письмо автору
 
 

Всем привет! Может кто подскажет следующий вопрос:
СУБД MSSQL:
Такой код PHP (организую вложенный цикл):

$connect = odbc_connect($host, $username, $password) or die ("couldn't connect");
    echo "Соединение установлено!";
    
    $sql = "SELECT id FROM division";
    $result = odbc_exec ($connect,$sql);
    echo var_dump($result); //в данном случае возвращает результирующий идентификатор ODBC, т.е. запрос отрабатывает и возвращает результат
    if (!$result) echo odbc_error();
    while ($row = odbc_fetch_row($result))
    {
        $number = odbc_result($result,"id");
        echo $number;
        
        $query = "SELECT firm FROM division_firm WHERE division = $number";
        
        $result_query = odbc_exec($connect,$sql);
        echo var_dump($result_query); 
// а вот здесь возвращает false и пишет ошибку -  odbc_exec() [function.odbc-exec]: SQL error: [unixODBC][FreeTDS][SQL Server]Invalid cursor state, SQL state 24000 in SQLExecDirect 
    }
    odbc_close($connect);


Может кто подскажет в чем проблема?
Спасибо

   
 
 автор: Trianon   (23.05.2008 в 11:10)   письмо автору
 
   для: Front   (23.05.2008 в 09:55)
 

$result_query = odbc_exec($connect,$sql);

Вы пытаетесь исполнить тот же запрос, что и вне цикла.


Вообще так запросы не пишутся.

SELECT division_firm.id, division_firm.firm 
  FROM division 
  LEFT JOIN  division_firm ON division.id = division_firm.division

   
 
 автор: Front   (23.05.2008 в 15:22)   письмо автору
 
   для: Trianon   (23.05.2008 в 11:10)
 

Мне просто необходимо вывести 4 столбца, где их названием будет является $number. И затем в каждом цикле вывести список данных относящиеся к этому названию.
С этой целью и пишу такой запрос. Исправил, сделал так:

     $connect = odbc_connect($host, $username, $password) or die ("couldn't connect");
    echo "Соединение установлено!";
    
    $sql = "SELECT id FROM division";
    $result = odbc_exec ($connect,$sql);
    if (!$result) echo odbc_error();
    while ($row = odbc_fetch_array($result))
    {
        $number = odbc_result($result,"id");
        
        echo var_dump($row['id']);
        $query = "SELECT firm FROM division_firm WHERE division=$row[id]";
        $result_q = odbc_exec ($connect,$query);
            while ($row_q = odbc_fetch_array($result_q))
            {
                echo $row_q[firm];
            //echo var_dump($res);
            }        
    }    


Вылезает ошибка: supplied argument is not a valid ODBC result resource

   
Rambler's Top100
вверх

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