powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.
3 сообщений из 3, страница 1 из 1
Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.
    #39858349
Hopfen_Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.

Есть примерно такой INSERT :
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$tsql = "INSERT INTO [table]
      (
         [data1],
        [data2]
      )  
      VALUES   
      (?, ?)";  
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC ) ) 
{
      $tparams = [
          $row['tdata1'],
          $row['tdata2']->format( 'Y-d-m H:i:s' )
     ];

    $tstmt = sqlsrv_prepare($conn, $tsql, $tparams);
    sqlsrv_execute($tstmt); 
    sqlsrv_free_stmt($tstmt);  
}


В этом примере запись идет в цикле.
Можно ли как то сделать присваивание параметров в цикле, а sqlsrv_execute вне цикла.

Например в mysql это выглядело бы так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
$tsql = "INSERT INTO `table`
      (
         `data1`,
        `data2`
      )  
      VALUES   
      (?, ?)";  

$stmt = $mysqli->prepare($tsql)

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC ) ) 
{
        $tparams = [
            $row['tdata1'],
            $row['tdata2']->format( 'Y-d-m H:i:s' )
        ];

       $stmt->bind_param("ss",  $tparams);
}
 
$stmt->execute();


То есть, чтобы был только один sql запрос.
...
Рейтинг: 0 / 0
Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.
    #39858631
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hopfen_Arturв mysql это выглядело бы такСдается мне, что в MySQL для вставки результата в таблицу достаточно вообще один запрос INSERT ... SELECT выполнить, а не гонять данные туда-сюда.
В используемой СУБД нет такого синтаксиса?
...
Рейтинг: 0 / 0
Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.
    #39858738
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да есть там такое .
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите как исправить sqlsrv_prepare, чтобы запись в таблицу была не в цикле.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]