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
...
(PHP 4, PHP 5)
sybase_affected_rows — Obtiene el número de filas afectadas en la última operación
$link_identifier
] ) : int
sybase_affected_rows() Obtiene el número de
filas afectadas por la última consulta INSERT, UPDATE, REPLACE o DELETE
asociada con link_identifier
.
Este comando no es efectivo para operaciones SELECT , sólo con operaciones que modifican registros. Para obtener el número de filas devuelto por una operación SELECT, use sybase_num_rows().
link_identifier
Si no se especifica el link, asume que debe utilizar la última conexión abierta.
Devuelve el número de filas afectadas (entero).
Ejemplo #1 Delete-Query
<?php
/* Conectarse a la base de datos */
sybase_connect('SYBASE', '', '') or
die("No se pudo conectar");
sybase_select_db("db");
sybase_query("DELETE FROM sometable WHERE id < 10");
printf("Registros borrados: %d\n", sybase_affected_rows());
?>
El resultado del ejemplo sería:
Registros borrados: 10
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
...
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.