The sybase_affected_rows() function seems to work now with the Sybase DB Library. Not sure when this improvement was made, but I'm currently running PHP 4.1.2 on Solaris.
Affected rows seems to return a -1 if the query syntax was incorrect on the last submitted query.
Affected rows returns 0 if no rows were affected or another error occured, such as a foreign key violation and also returns 0 if the query was successfully, but no records were affected by the query.
If the query was valid and did affect some rows, sybase_affected_rows() seems to be returning the correct number.
sybase_affected_rows
(PHP 4, PHP 5)
sybase_affected_rows — Obtiene el número de filas afectadas en la última consulta
Descripción
int sybase_affected_rows
([ resource $id_enlace
] )
sybase_affected_rows() devuelve el número de filas afectadas por la última consulta INSERT, UPDATE o DELETE en el servidor asociado con el identificador de enlace dado.
Este comando no es efectivo para sentencias SELECT, únicamente en sentencias que modifican registros. Para recuperar el número de filas devueltas desde un SELECT, use sybase_num_rows().
Lista de parámetros
- id_enlace
-
Si no se especifica el identificador de enlace, se asume el último enlace abierto.
Valores retornados
Devuelve el número de filas afectadas, como un entero.
Ejemplos
Example #1 Consulta-Delete
<?php
/* conectarse con la base de datos */
sybase_connect('SYBASE', '', '') or
die("No pudo conectarse");
sybase_select_db("bd");
sybase_query("DELETE FROM alguna_tabla WHERE id < 10");
printf("Registros eliminados: %d\n", sybase_affected_rows());
?>
El resultado del ejemplo seria:
Registros eliminados: 10
sybase_affected_rows
neugeypc at cox dot net
31-May-2002 08:24
31-May-2002 08:24
james at lasolas dot com
22-Mar-2000 03:25
22-Mar-2000 03:25
If you get a segfault with sybase-ct, add a en_US entry to your $SYBASE/locales/locales.dat file:
[linux]
locale = en_US, us_english, iso_1
...
