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 //////////////////////////////////////////////// /////////////// // 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>