PHP API
使用方法
PHP スクリプトにモジュールをロードし、SQL Relay 関数を呼び出すことでモジュールを使用できます。
例:
dl("sql_relay.so");$con=sqlrcon_alloc("adasz",9000,"","user1","password1",0,1);$cur=sqlrcur_alloc($con);sqlrcur_sendQuery($cur,"select table_name from user_tables");sqlrcon_endSession($con);for ($i=0; $i<sqlrcur_rowCount($cur); $i++){ printf("%s\n",sqlrcur_getField($cur,$i,"table_name"));}sqlrcur_free($cur);sqlrcon_free($con);
dl(sql_relay.so) を実行する代わりに、次のような行を置くこともできます:
extension=sql_relay .sophp.ini ファイル内。これを行うと、スクリプトを実行するたびにライブラリがロードおよびアンロードされるのではなく、Web サーバーの起動時に一度だけロードおよびアンロードされるため、パフォーマンスが向上します。
関数 int sqlrcon_alloc(string サーバー, int ポート, 文字列ソケット, 文字列ユーザー, 文字列パスワード、 int retrytime、 int Trys)「ポート」上の「サーバー」またはローカルマシン上の UNIX 「ソケット」への接続を開始し、「ユーザー」と「パスワード」で認証します。失敗した接続は、「retrytime」間隔で「trys」回再試行されます。 "tries" が 0 の場合、再試行は永久に継続されます。 "retrytime" が 0 の場合、デフォルトの間隔で再試行が試行されます。
"socket" パラメータが NULL でも "" でもない場合、" の "server" への接続を試行する前に、それを介した接続が試行されます。ポート"。 NULL または "" の場合、ソケットを介した接続は試行されません。*/
void sqlrcon_free(int sqlrconref)
まだ終了していない場合は、セッションを切断して終了します。
void sqlrcon_setTimeout (int timeoutsec, int timeoutusec)
サーバー接続タイムアウトを秒とミリ秒で設定します。いずれかのパラメータを -1 に設定すると、タイムアウトが無効になります。
void sqlrcon_endSession(int sqlrconref)
セッションを終了します
void sqlrcon_suspendSession(int sqlrconref)
このクライアントを現在のセッションから切断しますが、別のクライアントが接続できるようにセッションを開いたままにしますsqlrcon_resumeSession() を使用して接続します。
int sqlrcon_getConnectionPort(int sqlrconref)
クライアントが通信している inet ポートを返します。このパラメーターは、sqlrcon_resumeSession() コマンドで使用するために別のクライアントに渡すことができます。注: この関数によって返される値は、sqlrcur_suspendSession() の呼び出し後にのみ有効です。
string sqlrcon_getConnectionSocket(int sqlrconref)
クライアントが通信している UNIX ソケットを返します。このパラメーターは、sqlrcon_resumeSession() コマンドで使用するために別のクライアントに渡すことができます。注: この関数によって返される値は、sqlrcur_suspendSession() の呼び出し後にのみ有効です。
int sqlrcon_resumeSession(int sqlrconref, int port, stringソケット)
sqlrcon_suspendSession() を使用して、以前に開いたままにしたセッションを再開します。成功した場合は 1 を返し、失敗した場合は 0 を返します。
int sqlrcon_ping(int sqlrconref)
データベースが起動している場合は 1 を返し、停止している場合は 0 を返します。
string sqlrcon_identify(int sqlrconref)
データベースのタイプを返します: oracle8、 postgresql、mysql など
string sqlrcon_dbVersion(int sqlrconref)
データベースのバージョンを返します
string sqlrcon_serverVersion(int sqlrconref)
SQL Relayサーバー ソフトウェアのバージョンを返します
文字列 sqlrcon_clientVersion(int sqlrconref)
SQL Relay クライアント ソフトウェアのバージョンを返します
string sqlrcon_bindFormat(int sqlrconref)
データベースで使用されるバインド変数の形式を表す文字列を返します
int sqlrcon_autoCommitOn(int sqlrconref)
データベースに次のことを指示します実行するクエリが成功するたびにコミットします。
int sqlrcon_autoCommitOff(int sqlrconref)
クライアントがいつコミットするかを指示するのを待つようにデータベースに指示します。
int sqlrcon_commit(int sqlrconref)
コミットを発行します。コミットが成功した場合は 1、失敗した場合は 0、エラーが発生した場合は -1 を返します。
int sqlrcon_rollback(int sqlrconref)
ロールバックを発行します。ロールバックが成功した場合は 1、失敗した場合は 0、エラーが発生した場合は -1 を返します。
void sqlrcon_debugOn(int sqlrconref)
詳細なデバッグ情報を標準出力に送信します。これを行うもう 1 つの方法は、クエリを「--debugn」で開始することです。
void sqlrcon_debugOff(int sqlrconref)
デバッグをオフにします
int sqlrcon_getDebug(int sqlrconref)
デバッグがオフの場合は FALSE を返しますデバッグする場合は TRUE is on
int sqlrcur_alloc(int sqlrconref) void sqlrcur_free(int sqlrcur) void sqlrcur_setResultSetBufferSize(int sqlrcurref, int rows)
一度にバッファする結果セットの行数を設定します。 0 (デフォルト) は、結果セット全体をバッファリングすることを意味します。
int sqlrcur_getResultSetBufferSize(int sqlrcurref)
一度にバッファリングされる結果セットの行数を返すか、結果セット全体に対して 0 を返します。
void sqlrcur_dontGetColumnInfo(int sqlrcurref)
列情報 (名前、型、サイズ) を送信しないようにサーバーに指示します。その情報が必要ない場合は、パフォーマンスを向上させるためにこの関数を呼び出す必要があります。
void sqlrcur_mixedCaseColumnNames(int sqlrcurref)
列名は、データベースで定義されているのと同じ大文字と小文字で返されます。これがデフォルトです。
void sqlrcur_upperCaseColumnNames(int sqlrcurref)
列名は大文字に変換されます。
void sqlrcur_ lowerCaseColumnNames(int sqlrcurref)
列名は小文字に変換されます。
void sqlrcur_getColumnInfo(int sqlrcurref)
サーバーに列情報を送信するように指示します。
void sqlrcur_cacheToFile(int sqlrcurref, string filename)
クエリ キャッシュをオンに設定します。今後のクエリはファイル「filename」にキャッシュされます。デフォルトの存続時間 10 分も設定されています。 sqlrcur_cacheToFile() が呼び出されると、sqlrcur_cacheToFile() の別の呼び出しによってキャッシュ先のファイルが変更されるか、sqlrcur_cacheOff() の呼び出しによってキャッシュがオフになるまで、今後のすべてのクエリの結果セットがそのファイルにキャッシュされることに注意してください。 sqlrcur_setCacheTtl(int sqlrcurref, int ttl)
キャッシュされた結果セットの有効期間を設定します。 sqlr-cachemanger は、キャッシュされた各結果セットを作成後 "ttl" 秒後に削除します。
string sqlrcur_getCacheFileName(int sqlrcurref)
最後にキャッシュされた結果セットを含むファイルの名前を返します。
void sqlrcur_cacheOff(int sqlrcurref) )
クエリ キャッシュをオフに設定します。
クエリで置換やバインド変数を使用する必要がない場合は、次の 2 つの関数を使用します。
int sqlrcur_sendQuery(int sqlrcurref, string query)
「クエリ」と戻りセットを取得します。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
int sqlrcur_sendQueryWithLength(int sqlrcurref, string query, int length)
長さ「length」の「query」を送信し、結果セットを取得します。この関数は、クエリにバイナリ データが含まれる場合に使用する必要があります。
int sqlrcur_sendFileQuery(int sqlrcurref, string path, string filename)
ファイル "path"/"filename" でクエリを送信し、戻りセットを取得します。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
置換変数またはバインド変数を使用する必要がある場合は、クエリで次の関数を使用します。代替およびバインド変数の詳細については、APIドキュメントを参照してください。長さ「length」の「query」を実行します。この関数は、クエリにバイナリ データが含まれる場合に使用する必要があります。
void sqlrcur_prepareFileQuery(int sqlrcurref, string path, string filename)
「パス」/「ファイル名」の内容を実行する準備をします。
void sqlrcur_substitution(int sqlrcurref 、文字列変数、文字列値)
void sqlrcur_substitution(int sqlrcurref、文字列変数、long 値)void sqlrcur_substitution(int sqlrcurref、文字列変数、double 値、短い精度、短いスケール)
置換変数を定義します。置換が成功した場合は true を返し、渡されたデータの型が string、long、double ではなかった場合、または double の精度と位取りが渡されなかった場合は false を返します。
void sqlrcur_clearBinds(int sqlrcurref)
Clearすべてのバインド変数。
void sqlrcur_countBindVariables(int sqlrcurref)
事前に準備されたクエリを解析し、その中で定義されているバインド変数の数をカウントし、その数を返します。void sqlrcur_inputBind(int sqlrcurref, 文字列変数, 文字列値)
void sqlrcur_inputBind(int sqlrcurref、文字列変数、long 値)void sqlrcur_inputBind(int sqlrcurref、文字列変数、double 値、短い精度、短いスケール)
void sqlrcur_inputBindBlob(int sqlrcurref、文字列変数、長い長さ)void sqlrcur_inputBindClob( int sqlrcurref 、文字列変数、長い長さ)
入力バインド変数を定義します。バインドが成功した場合は true を返し、渡されたデータの型が string、long、double ではなかった場合、または double の精度とスケールが渡されなかった場合は false を返します。
void sqlrcur_defineOutputBindString(int sqlrcurref, string variable) , int length)
文字列出力バインド変数を定義します。 「length」バイトは、値を保存するために予約されます。
void sqlrcur_defineOutputBindInteger(int sqlrcurref, string variable)
整数出力バインド変数を定義します。
void sqlrcur_defineOutputBindDouble(int sqlrcurref, string variable)
倍精度浮動小数点出力バインド変数を定義します。
void sqlrcur_defineOutputBindBlob(int sqlrcurref, string variable)
BLOB 出力バインド変数を定義します。
void _defineOutputBindClob(int sqlrcurref, string変数)
CLOB 出力バインド変数を定義します。
void sqlrcur_defineOutputBindCursor(int sqlrcurref, string variable)
カーソル出力バインド変数を定義します。
void sqlrcur_validateBinds(int sqlrcurref)
そうでないかもしれない変数実際にクエリ内にある場合は、これを呼び出して、実際にクエリ内にない限りデータベースがそれらをバインドしようとしないようにします。
void sqlrcur_validBind(int sqlrcurref, string variable)
"variable" が有効な場合は true を返しますクエリのバインド変数。
int sqlrcur_executeQuery(int sqlrcurref)
事前に準備されバインドされたクエリを実行します。
int sqlrcur_fetchFromBindCursor(int sqlrcurref)
出力バインド変数として返されたカーソルからフェッチします。
int sqlrcur_getOutputBindString(int sqlrcurref, string variable)
以前に定義した出力バインド変数に格納された値を取得します。
int sqlrcur_getOutputBindBlob(int sqlrcurref, string variable)
以前に定義した出力バインド変数に格納された値を取得します。
int sqlrcur_getOutputBindClob(int sqlrcurref, string variable)
以前に定義した出力バインド変数に格納された値を取得します。
int sqlrcur_getOutputBindInteger(int sqlrcurref, string variable)
以前に定義した出力バインド変数に格納された値を取得します。int sqlrcur_getOutputBindDouble(int sqlrcurref, string variable)
事前に定義した出力バインド変数に格納されている値を取得します。
int sqlrcur_getOutputBindLength(int sqlrcurref, string variable)
事前に定義した出力バインド変数に格納されている値の長さを取得しますVariabias.
int sqlrrcur_getoutputbindcursor(int sqlrrcurref、string variable)実行されていれば生成されていたでしょう。成功した場合は TRUE を返し、失敗した場合は FALSE を返します。
int sqlrcur_colCount(int sqlrcurref)
現在の戻りセット内の列数を返します
int sqlrcur_rowCount(int sqlrcurref)
現在の戻りセット内の行数を返します
int sqlrcur_totalRows(int sqlrcurref)
結果セットで返される行の合計数を返します。すべてのデータベースがこの呼び出しをサポートしているわけではありません。データベース間で移植できるように設計されたアプリケーションには使用しないでください。このオプションをサポートしていないデータベースでは -1 が返されます。
int sqlrcur_affectedRows(int sqlrcurref)
クエリによって更新、挿入、または削除された行の数を返します。すべてのデータベースがこの呼び出しをサポートしているわけではありません。データベース間で移植できるように設計されたアプリケーションには使用しないでください。このオプションをサポートしていないデータベースでは -1 が返されます。
int sqlrcur_firstRowIndex(int sqlrcurref)
バッファリングされた最初の行のインデックスを返します。これは、一度に結果セットの一部のみをバッファリングする場合に便利です。
int sqlrcur_endOfResultSet(int sqlrcurref)
結果セットの一部がまだサーバー上で保留中の場合は 0 を返し、そうでない場合は 1 を返します。 setResultSetBufferSize() が 0 以外のパラメーターで呼び出された場合、この関数は 0 のみを返します。
string sqlrcur_errorMessage(int sqlrcurref)
クエリが失敗してエラーが生成された場合、エラー メッセージはここで確認できます。クエリが成功した場合、この関数は FALSE を返します
string sqlrcur_getNullsAsEmptyStrings(int sqlrcurref)
NULL フィールドを返し、バインド変数を空の文字列として出力するようにクライアントに指示します。これがデフォルトです。
string sqlrcur_getNullsAsNulls(int sqlrcurref)
NULL フィールドを返し、バインド変数を NULL として出力するようにクライアントに指示します。
string sqlrcur_getField(int sqlrcurref, int row, intcol)
returns a値を含む文字列指定された行と列の長さを返します
string sqlrcur_getFieldLength(int sqlrcurref, int row, intcol)
指定された行と列の長さを返します
array sqlrcur_getRow(int sqlrcurref, int row)
インデックス付き配列を返します指定された行の値
array sqlrcur_getRowLengths(int sqlrcurref, int row)
指定された行の長さのインデックス付き配列を返します
array sqlrcur_getRowAssoc(int sqlrcurref, int row)
指定された行の値の連想配列を返します
array sqlrcur_getRowLengthsAssoc(int sqlrcurref, int row)
指定された行の長さの連想配列を返します
配列 sqlrcur_getColumnNames (int sqlrcurref)
現在のリターンセットの列名の配列を再実行します
文字列sqlrcur_getcolumnname(int sqlrcurref、int col) string sqlrcur_getColumnType(int sqlrcurref, int col)
指定された列の型を返します
int sqlrcur_getColumnLength(int sqlrcurref, string col)
int sqlrcur_getColumnLength(int sqlrcurref, int col)指定された列の長さを返します。
int sqlrcur_getColumnPrecision(int sqlrcurref, stringcol);
int sqlrcur_getColumnPrecision(int sqlrcurref, int col);指定された列の精度を返します。精度とは、数値の合計桁数です。例: 123.45 の精度は 5 です。数値以外の型の場合、それは文字列内の文字数です。
int sqlrcur_getColumnScale(int sqlrcurref, string col);
int sqlrcur_getColumnScale(int sqlrcurref, intcol);指定された列のスケールを返します。スケールは、数値の小数点の右側の合計桁数です。例: 123.45 のスケールは 2 です。
int sqlrcur_getColumnIsNullable(int sqlrcurref, string col);
int sqlrcur_getColumnIsNullable(int sqlrcurref, intcol);指定された列に null を含めることができる場合は 1 を返し、そうでない場合は 0 を返します。
int sqlrcur_getColumnIsPrimaryKey(int sqlrcurref, string col);
int sqlrcur_getColumnIsPrimaryKey(int sqlrcurref, intcol);指定された列が主キーの場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsUnique(int sqlrcurref, string col);
int sqlrcur_getColumnIsUnique(int sqlrcurref, int col);指定された列が一意の場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsPartOfKey(int sqlrcurref, string col);
int sqlrcur_getColumnIsPartOfKey(int sqlrcurref, int col);指定された列が複合キーの一部である場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsUnsigned(int sqlrcurref, string col);
int sqlrcur_getColumnIsUnsigned(int sqlrcurref, int col);指定された列が符号なし数値の場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsZeroFilled(int sqlrcurref, string col);
int sqlrcur_getColumnIsZeroFilled(int sqlrcurref, int col);指定された列がゼロフィルフラグを使用して作成された場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsBinary(int sqlrcurref, string col);
int sqlrcur_getColumnIsBinary(int sqlrcurref, intcol);指定された列にバイナリ データが含まれている場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getColumnIsAutoIncrement(int sqlrcurref, string col);
int sqlrcur_getColumnIsAutoIncrement(int sqlrcurref, intcol);指定された列が自動インクリメントされる場合は 1 を返し、それ以外の場合は 0 を返します。
int sqlrcur_getLongest(int sqlrcurref, string col)
int sqlrcur_getLongest(int sqlrcurref, int col)指定された列の最長フィールドの長さを返します。
void sqlrcur_suspendResultSet(int sqlrcurref)
接続がsuspendSession()を呼び出したときにこの結果セットを開いたままにし、resumeSession()を呼び出した後に別の接続がresumeResultSet()を使用してそれに接続できるようにサーバーに指示します。int sqlrcur_getResultSetId( int sqlrcurref)
この結果セットの内部 ID を返します。このパラメータは、resumeResultSet() 関数で使用するために別のステートメントに渡すことができます。注: この関数によって返される値は、sqlrcur_suspendResultSet() の呼び出し後にのみ有効です。
void sqlrcur_resumeResultSet(int sqlrcurref, int id)
suspendSession() を使用して以前に開いたままにした結果セットを再開します。成功した場合は 1 を返し、失敗した場合は 0 を返します。
void sqlrcur_resumeCachedResultSet(int sqlrcurref, int id, string filename)
suspendSession() を使用して以前に開いたままにした結果セットを再開し、結果セットを "filename" にキャッシュし続けます。成功した場合は 1 を返し、失敗した場合は 0 を返します。
著者 Adam Kropielnicki
adasz@wp.pl

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP の API が例外処理と再試行メカニズムを処理する方法 PHP では、API がさまざまな機能を提供するため、多くの Web サイトやアプリケーションの中核となっています。ただし、API を使用すると、ネットワーク接続の問題、応答のタイムアウト、無効なリクエストなど、多くの問題が発生することがよくあります。この場合、アプリケーションの信頼性と安定性を確保するために、例外と再試行メカニズムを処理する方法を理解する必要があります。例外処理 PHP では、例外処理はよりエレガントで読みやすいエラー処理です。

PHP Kuaishou API インターフェイス開発ガイド: ビデオのダウンロードおよびアップロード システムを構築する方法 はじめに: ソーシャル メディアの急速な発展に伴い、インターネット上で自分の人生の瞬間を共有したいと思う人がますます増えています。その中でも、ショートビデオプラットフォームの人気は高まり続けており、人々が自分の生活やエンターテイメントを記録して共有する重要な方法となっています。 PHP Kuaishou API インターフェイスは、開発者が機能豊富なビデオのダウンロードおよびアップロード システムを構築するのに役立つ強力なツールです。この記事では、PHP Kuaishou API インターフェイスを使用して、

PHP は、Web 開発で広く使用されている非常に人気のあるサーバー側スクリプト言語です。 Web 開発において、API はクライアントとの通信を担う非常に重要なコンポーネントです。中でも、API のパフォーマンスと効率は、アプリケーションのユーザー エクスペリエンスにとって非常に重要です。キャッシュとデータの冗長性は API 開発における 2 つの重要な概念です。この記事では、PHP でこれらを処理して API のパフォーマンスと信頼性を向上させる方法を紹介します。 1. キャッシュの概念 キャッシュは、Web アプリケーションで広く使用されている最適化テクノロジです。

PHP Kuaishou API インターフェイスを通じて、ビデオの収集と共有が実現でき、モバイル インターネットの時代において、短いビデオは人々の生活に欠かせないものになりました。中国の主流のショートビデオソーシャルプラットフォームとして、Kuaishou は巨大なユーザーベースを持っています。ユーザーエクスペリエンスを向上させるために、PHP Kuaishou API インターフェイスを通じてビデオの収集と共有機能を実装し、ユーザーがお気に入りのビデオをより便利に管理および共有できるようにします。 1. Kuaishou API を使用する Kuaishou は、ビデオ検索、ビデオ詳細、ビデオ コレクション、ビデオ分析などの豊富な API インターフェイスを提供します。

ソーシャルメディアの人気に伴い、Twitterなどのソーシャルメディアプラットフォームをマーケティングやプロモーションに利用する人が増えています。このアプローチは効果的ですが、アクティブな状態を維持するには多大な時間と労力が必要です。 Twitter でブランドやサービスを宣伝したいが、アクティブな Twitter アカウントを管理するための十分な時間やリソースがない場合は、Twitter ボットの使用を検討してください。 Twitter ボットは、Twitter 上で独自の投稿を作成するのに役立つ自動ツールです。

PHPAPI電流制限は、固定ウィンドウカウンター、スライディングウィンドウカウンター、漏れやすいバケットアルゴリズム、トークンバケットアルゴリズムを介して実装できます。 1.固定ウィンドウカウンターは、時間ウィンドウを介してリクエストの数を制限します。 2.スライディングウィンドウカウンターは、より正確な電流制限を提供するためのタイムウィンドウを改良します。 3.漏れやすいバケットアルゴリズムは、破裂するトラフィックを防ぐために一定の速度で要求を処理します。 4.トークンバケットアルゴリズムは、ある程度のバーストトラフィックを可能にし、トークンを消費することでリクエストを制御します。

PHP Kuaishou API インターフェイス開発ガイド: ビデオ再生およびコメント システムの構築方法 はじめに: Kuaishou プラットフォームの台頭により、多くの開発者がその API インターフェイスを通じてさまざまなアプリケーションを開発しました。この記事では、読者がすぐに使い始めて独自のアプリケーションを構築できるように、PHP を使用して Kuaishou ビデオ再生およびコメント システムの API インターフェイスを開発する方法を紹介します。 1. 準備作業 開始する前に、次の準備作業が完了していることを確認する必要があります。 PHP 環境のインストール: ローカル開発環境に PH をセットアップする必要があります。

最新の Web アプリケーションでは、通常、API インターフェイスはサービス インターフェイスを実装する方法です。このような API インターフェースを PHP 言語で実装する場合、複数の API クライアントをどのように処理するかを考慮する必要があります。通常の状況では、各 API クライアント リクエストは、PHP によって実装された RESTful インターフェイスを通じて処理されます。しかし、大量のAPIクライアントリクエストを処理する必要がある場合、インターフェースの処理効率を向上させ、システムのオーバーヘッドをいかに削減するかが喫緊の課題となっています。
