sybase & exec

IgoX

Новичок
sybase & exec

Всем добрый день.
Что то делаю не так.
PHP:
function getId($table) {     
  global $dbh;     
  $table=strtoupper($table);     
  $sql = "declare @id int ";     
  $sql.= "exec GetNewKey 'KEY_$table' , @id output ";     
  $sql.= "select @id as id";     
  $query = sybase_query($sql, $dbh); 
  echo sybase_get_last_message ( )."---<br>"; 
  echo $sql."<br>";     
  $row   = mssql_fetch_object($query); 
  echo "RETERNED $row->id<br>";     
return $row[0]; }
результат:
Notice: sybase_query(): Sybase: Unexpected results, cancelling current in /var/www/own/new/importprice/step1.php on line 81 Notice: sybase_query(): Sybase: Unexpected results, cancelling current in /var/www/own/new/importprice/step1.php on line 81 Changed database context to 'avalon'.---
declare @id int exec GetNewKey 'KEY_ROOMSCATEGORY' , @id output select @id as id
Notice: Undefined property: stdClass::$id in /var/www/own/new/importprice/step1.php on line 85 RETERNED
если я просто выполняю строку в mssql
PHP:
declare @id int exec GetNewKey 'KEY_ROOMSCATEGORY' , @id output select @id as id
то всё нормально.
Спасибо!

-~{}~ 16.02.10 13:38:

извратился вот так
PHP:
   global $dbh;
    $table=strtoupper($table);
    $sql = "declare @id int ";
    $sql.= "exec GetNewKey 'KEY_$table' , @id output ";
    $sql.= "print @id";
    $query = @sybase_query($sql, $dbh);
    return sybase_get_last_message();
но это както очень коряво. Буду рад правильному решению.
 

hexes

Новичок
IgoX подскажите, удалось решить?

У меня затык такой, во время работы одного скрипта (spid один) 2 запроса:
PHP:
declare @var varchar
select @var = 'test'
PHP:
select @var as var
2ой запрос уже ничего не знает про @var:
Sybase: Server message: Must declare variable '@var'.
Почему так может быть?
 
Сверху