PHP 5.4.31 Released

sybase_affected_rows

(PHP 4, PHP 5)

sybase_affected_rows直近のクエリで変更された行の数を得る

説明

int sybase_affected_rows ([ resource $link_identifier ] )

sybase_affected_rows() は、指定したリンク ID が 指すサーバーにおいて直近の INSERT、UPDATE、DELETE クエリで変更された レコードの数を返します。

このコマンドは、SELECT 文には使用できません。レコードを変更する 文のみに使用できます。SELECT から返された行の数を得たい場合は sybase_num_rows() を使用してください。

パラメータ

link_identifier

リンク ID を省略した場合は、最後にオープンしたリンクを使用します。

返り値

変更された行数を整数値で返します。

例1 削除クエリ

<?php
/* データベースに接続します */
sybase_connect('SYBASE''''') or
die(
"接続できません");
sybase_select_db("db");

sybase_query("DELETE FROM sometable WHERE id < 10");
printf("削除したレコード数: %d\n"sybase_affected_rows());
?>

上の例の出力は以下となります。

削除したレコード数: 10

参考

add a note add a note

User Contributed Notes 2 notes

up
0
james at lasolas dot com
14 years ago
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
    ...
up
-1
neugeypc at cox dot net
12 years ago
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.
To Top