SAE のデータベース ソリューションに接続する方法

WBOY
リリース: 2016-06-13 13:53:15
オリジナル
922 人が閲覧しました

SAE のデータベースに接続する方法
聞きたいのですが、前回フレームワークを解体したときと同じですが、SAE のデータベースに接続する必要があります。実際には自分でデータベースをセットアップしていません。 . Kuanghan さん。

Sae がこの sae .class.php クラスを提供してくれました。何を使用すればよいですか? ...... 定義するために別のデータ COM ファイルを作成する必要がありますか?データ表示、それともこのクラスに書くべきでしょうか?

フレームワーク、MVC 構造、エントリ ファイル -> データ COM 層 -> MOD 層 -> ページレット層 - を解体するのは本当に悲劇です。 >プレゼンテーション層->モジュール層、エントリファイルにこれを含めただけですが、これを書くべきかどうか非常にわかりません。逆アセンブルを続けるか、それとも一歩下がってフレームワークを再利用する必要があるか。


Sae Mysql Class

$mysql = new SaeMysql() ;

$sql = "SELECT * FROM `user` LIMIT 10";
$data = $mysql->getData( $ sql );
$name =trip_tags( $_REQUEST[' name'] );
$age = intval( $_REQUEST['age'] );
$sql = "INSERT INTO `user` ( `name` , `age` , `regtime` ) VALUES ( ' " . $mysql->escape( $name ) . "' , '" . intval( $age ) . "' , NOW() ) ";
$mysql->runSql( $sql );
if( $mysql->errno() != 0 )
{
die( "エラー:" . $mysql->errmsg () );
}

$ mysql->closeDb();
?>

-----解決策---- ----------------
もう一つ…ふふ

PHP コード

<?php
//////////////////////////////////////////////// ///////////////
// SpeedPHP中文PHP框架、著作権 (C) 2008 - 2010 SpeedPHP.com //
//////////////////////////////////////////////// ///////////////

/*** SAE での MySQL データベースのドライバー サポート
 *
 ※SAEとはSina App Engineの略称で、分散型Webアプリケーション開発・運用のためのサービスプラットフォームです。
 * これには、Web アプリケーションを作成および展開するための単純な対話だけでなく、大規模な分散サービス ソリューションの完全なセットも含まれます。
 *
 * db_sae は、SAE が提供する SaeMysql クラスのドライバー操作をカプセル化します。*/
クラスdb_sae {
        /*** データベースリンクハンドル*/
        パブリック $conn;
        /*** 実行されたSQL文の記録*/
        パブリック $arrSql;

        /*** SQL文に従ってレコード結果を取得し、配列を返す
         *
         * @param sql SQL ステートメントが実行されました*/
        パブリック関数 getArray($sql)
        {
                $this->arrSql[] = $sql;
                $result = $this->conn->getData($sql);
                if( $this->conn->errno() )spError("{$sql}<br />実行错误: " . $this->conn->error());
                $result を返します。
        }
        
        /*** 現在挿入されているレコードの主キー ID を返します*/
        パブリック関数 newinsertid()
        {
                $this->conn->lastId(); を返す
        }
        
        /*** 制限付きの SQL ステートメントのフォーマット*/
        パブリック関数 setlimit($sql, $limit)
        {
                $sqlを返します。 " 制限 {$limit}";
        }

        /*** SQL ステートメントを実行する
         *
         * @param sql 実行するSQL文*/
        パブリック関数 exec($sql)
        {
                $this->arrSql[] = $sql;
                $result = $this->conn->runSql($sql);
                if( $this->conn->errno() )spError("{$sql}<br />実行错误: " . $this->conn->error());
                $result を返します。
        }
        
        /*** 影響を受ける行の数を返します*/
        パブリック関数affected_rows()
        {
                FALSEを返します。 // SAE環境時無法获取影响行数
        }

        /*** データテーブル構造を取得します
         *
         * @param tbl_name テーブル名*/
        パブリック関数 getTable($tbl_name)
        {
                return $this->getArray("DESCRIBE {$tbl_name}");
        }

        /***コンストラクタ
         *
         * @param dbConfig データベース構成*/
        パブリック関数 __construct($dbConfig)
        {
                if(TRUE == SP_DEBUG)sae_set_display_errors(TRUE);
                $this->conn = new SaeMysql();
                if( $this->conn->errno() )spError("データベース库链接错误 : " . $this->conn->error()); 
                $this->conn->setCharset("UTF8");
        }
        /*** 特殊文字をフィルタリングします
         *
         * @param 値 値*/
        パブリック関数 __val_escape($value, $quotes = FALSE) {
                if(is_null($value))return 'NULL';
                if(is_bool($value))$value を返す ? 1:0;
                if(is_int($value))return (int)$value;
                if(is_float($value))return (float)$value;
                if(@get_magic_quotes_gpc())$value = ストリップスラッシュ($value);
                return '''.$this->conn->escape($value).''';
        }

        /*** デストラクター*/
        パブリック関数 __destruct()
        {
                @$this->conn->closeDb();
        }
        
        /*** getConn は Sae MySQL オブジェクトを取得します
         * Sea が提供する MySQL クラスをより有効に使用するために、getSeaDB 関数は開発者が使用できる Sae MySQL オブジェクトを返します。*/
        パブリック関数 getConn()
        {
                $this->connを返します;
        }
<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート