Foros del Web » Programando para Internet » PHP »

PHP & SQL Server (Transacciones)?

Estas en el tema de PHP & SQL Server (Transacciones)? en el foro de PHP en Foros del Web. Bueno amigo, tengo un problema, hace varias semanas q he tratado de hacer trans en php con sqlserver, pero no me reconoce el BEGIN cuando ...
  #1 (permalink)  
Antiguo 18/01/2005, 13:54
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
PHP & SQL Server (Transacciones)?

Bueno amigo, tengo un problema, hace varias semanas q he tratado de hacer trans en php con sqlserver, pero no me reconoce el BEGIN cuando trato de definir el bloque de transacción. Aquí el cod. para explicarles:

<% //conección a la BD, me conecto con una dll llamada mssql
$conn = mssql_connect("CPEREZ","cperez","cristian");
if (!$conn)
{ echo "error en la coneccion";
exit;
}

if (!mssql_select_db("modena", $conn))
{ echo "error al cambiar base de datos";
exit;
}

$sql="select max(pais_codigo)+1 from MOD_pais";
$msresult= mssql_query($sql, $conn);

while ($result=mssql_fetch_array($msresult))
{ $max=$result[0]; }

//COMIENZO DE LA TRANSACCION
$result=@query("begin trans", $conn);

//INSERTAR VALORES EN TABLA PAIS
$sql = "insert into mod_pais(pais_codigo, pais_nombre) values (001,'afganistan')";
$result = mssql_query($sql, $conn)
if (!$result)
{ echo "error al ejecutar query 3";
$result=@query("rollback trans", $conn);
exit;
}

//INSERTAR VALORES EN TABLA LUGARES
$sql = "insert into mod_lugares(luga_codigo, luga_descripcion) values (0001,'Pinguerilandia')";
$result = mssql_query($sql, $conn);
if (!$result)
{ echo "error al ejecutar query 4";
$result=@query("rollback trans", $conn);
exit;
}
$resul = @mssql_query("commit trans", $conn );
?>
Que me ocurre, me marca un error justo en el BEGIN TRANS, me aparece los sqte: Fatal error: Call to undefined function pg_query() in... La llamada de la función no esta definida ¿Necesito otra dll más y la defino con una sintaxis defirente? ¿Quizá no puedo hacer transacciones con PHP y SQL Sever? Ojalá alguien me ayude.
  #2 (permalink)  
Antiguo 18/01/2005, 15:47
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Hola viejito_kike
No se si te sera de ayuda, pero bueno yo trabajo con PHP y MSSQL2000 y la mejor manera de conectarme es la siguiente.

Código PHP:
$conex odbc_connect($_Server$_user$_passw);
 if(
$conex) {
   
// **** preparamos el query
   
$consulta "select * from mi_tabla blabla";
   
$resultado odbc_do($conex$consulta);

    while (
odbc_fetch_row($resultado)) {
     
$uno odbc_result($resultado,1);
      
$dos odbc_result($resultado,2);
             
$tres odbc_result($resultado,3);
             
$cuatro odbc_result($resultado,4);
     
$cinco odbc_result($resultado,5);
     
$sies odbc_result($resultado,6);
     
$siete odbc_result($resultado,7);
     
$ocho odbc_result($resultado,8);
         }
odbc_free_result($resultado);
odbc_close($conex);
//    ---- se redirecciona a la página de error...            

Espero que te sirva el ejemplo y que pueda ayudarte en alguna otra cosa.
saludos
  #3 (permalink)  
Antiguo 18/01/2005, 19:19
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias Chuty, lo pruebo y te cuento.

Saludos
  #4 (permalink)  
Antiguo 19/01/2005, 08:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. si usas MS SQL Server, (que son las funciones mssql_xxxx()) .. donde usas esa función: pg_query() que se refiere a PostGreSQL?

Por lo demás .. si puedes usar las extensiones de MS SQL Server de PHP (php_mssql.dll y al menos la versión cliente de MS SQL Server que es otra .dll) .. es más recomendable que usar ODBC para conectarte a MS SQL Serve (más óptimo).

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:17.