Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » PHP サポート » SQL Anywhere PHP 拡張 » PHP スクリプトの開発

 

Web フォーム

PHP では、Web フォームからユーザ入力を受け取って SQL クエリとしてデータベースサーバに渡し、返される結果を表示できます。次の例は、ユーザが SQL 文を使用してサンプルデータベースを問い合わせ、結果を HTML テーブルに表示する簡単な Web フォームを示しています。

この例のソースコードは、SQL Anywhere インストール環境の webisql.php というファイルにあります。



<?php
    echo "<HTML>\n";
    echo "<body onload=\"document.getElementById('qbox').focus()\">\n";

    $qname = $_POST[qname];
    $qname = str_replace( "\\", "", $qname );
    echo "<form method=post action=webisql.php>\n";
    echo "<br>Query : <input id=qbox type=text size=80 name=qname value=\"$qname\">\n";
    echo "<input type=submit>\n";
    echo "</form>\n";
    echo "<HR><br>\n";

    if( ! $qname ) {
        echo "No Current Query\n";
        return;
    }

    $conn = sasql_connect( "UID=DBA;PWD=sql" );

    if( ! $conn ) {
        echo "sasql_connect failed\n";
    } else {

        $qname = str_replace( "\\", "", $qname );
        $result = sasql_query( $conn, $qname );

        if( ! $result ) {
            echo "sasql_query failed!";
        } else {

            if( sasql_field_count( $conn ) > 0 ) {
                sasql_result_all( $result, "border=1" );
                sasql_free_result( $result );
            } else {
                echo "The statement <h3>$qname></h3> executed successfully!";
            }
        }

        sasql_close( $conn );
    }

    echo "</body>\n";
    echo "</html>\n";
?>

この設計は、ユーザによって入力される値に基づいてカスタマイズされた SQL クエリを作成することによって、複雑な Web フォームを処理できるように拡張できます。