Функция sqlsrv_query (PHP+mssql)

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
annablk
Сообщения: 3
Зарегистрирован: 11 сен 2008, 13:11

Помогите пожалуйста найти баг.

Необходимо в таблицу добавить новую запись и получить ее код.
Ниже приведен код, вкотором я это реализую, но получается с глюком - сначала эта запись добавляется с кодом 1.
при повторном добавлении - добавляются записи с верным кодом.

Код: Выделить всё

//добавление данных в таблицу P
$query = "SELECT id FROM P WHERE type=4 AND Owner=$ship";
$result=sqlsrv_query($conn,$query)
    or die("Can't query \"$query\"\n");
 if( $row=sqlsrv_fetch_array($result) ) {
  $pId = $row['id']; 
} else {
   // добавляем значение, которого еще нет
   $query = "INSERT INTO P (Type, Owner) VALUES ('4', '$sh'); SELECT @@IDENTITY as insrtId";
   $result=sqlsrv_query($conn,$query)   
    or die("Can't query \"$query\"\n");
   $pId = sqlsrv_next_result($result);
}      
.......................................
//добавляем данные в таблицу S, в одно из полей которой вставляем значение $pId
$sql = "INSERT INTO S (SymCode, Dep, ppId) ".
          "VALUES ('$sno',$dep,$pId); SELECT @@IDENTITY as iId";
$res = sqlsrv_query($conn,$sql)
     or die("Can't query \"$sql\"\n");    
 
Ответить