ホームページ バックエンド開発 PHPチュートリアル SAE のデータベース ソリューションに接続する方法

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

Jun 13, 2016 pm 01:53 PM
gt public quot sql this

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>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Hibernate フレームワークにおける HQL と SQL の違いは何ですか? Hibernate フレームワークにおける HQL と SQL の違いは何ですか? Apr 17, 2024 pm 02:57 PM

HQL と SQL は Hibernate フレームワークで比較されます。HQL (1. オブジェクト指向構文、2. データベースに依存しないクエリ、3. タイプ セーフティ)、SQL はデータベースを直接操作します (1. データベースに依存しない標準、2. 複雑な実行可能ファイル)。クエリとデータ操作)。

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

Oracle と DB2 の SQL 構文の比較と相違点 Oracle と DB2 の SQL 構文の比較と相違点 Mar 11, 2024 pm 12:09 PM

Oracle と DB2 は一般的に使用される 2 つのリレーショナル データベース管理システムであり、それぞれに独自の SQL 構文と特性があります。この記事では、Oracle と DB2 の SQL 構文を比較し、相違点を示し、具体的なコード例を示します。データベース接続 Oracle では、次のステートメントを使用してデータベースに接続します: CONNECTusername/password@database DB2 では、データベースに接続するステートメントは次のとおりです: CONNECTTOdataba

Oracle SQLでの除算演算の使用法 Oracle SQLでの除算演算の使用法 Mar 10, 2024 pm 03:06 PM

「OracleSQLでの除算演算の使用方法」 OracleSQLでは、除算演算は一般的な数学演算の1つです。データのクエリと処理中に、除算演算はフィールド間の比率を計算したり、特定の値間の論理関係を導出したりするのに役立ちます。この記事では、OracleSQL での除算演算の使用法を紹介し、具体的なコード例を示します。 1. OracleSQL における除算演算の 2 つの方法 OracleSQL では、除算演算を 2 つの異なる方法で実行できます。

MyBatis動的SQLタグのSetタグ機能の詳細説明 MyBatis動的SQLタグのSetタグ機能の詳細説明 Feb 26, 2024 pm 07:48 PM

MyBatis 動的 SQL タグの解釈: Set タグの使用法の詳細な説明 MyBatis は、豊富な動的 SQL タグを提供し、データベース操作ステートメントを柔軟に構築できる優れた永続層フレームワークです。このうち、Set タグは、UPDATE ステートメントで SET 句を生成するために使用され、更新操作でよく使用されます。この記事では、MyBatis での Set タグの使用法を詳細に説明し、特定のコード例を通じてその機能を示します。 SetタグとはMyBatiで使用するSetタグです。

SQL の ID 属性は何を意味しますか? SQL の ID 属性は何を意味しますか? Feb 19, 2024 am 11:24 AM

SQL における Identity とは何ですか? 具体的なコード例が必要です。SQL では、Identity は自動インクリメント数値の生成に使用される特別なデータ型です。多くの場合、テーブル内のデータの各行を一意に識別するために使用されます。 Identity 列は、各レコードが一意の識別子を持つようにするために、主キー列と組み合わせてよく使用されます。この記事では、Identity の使用方法といくつかの実用的なコード例について詳しく説明します。 Identity の基本的な使用方法は、テーブルを作成するときに Identity を使用することです。

SQL の 5120 エラーを解決する方法 SQL の 5120 エラーを解決する方法 Mar 06, 2024 pm 04:33 PM

解決策: 1. ログインしているユーザーがデータベースにアクセスまたは操作するための十分な権限を持っているかどうかを確認し、ユーザーが正しい権限を持っているかどうかを確認します; 2. SQL Server サービスのアカウントに指定されたファイルまたはデータベースにアクセスする権限があるかどうかを確認します。 3. 指定されたデータベース ファイルが他のプロセスによって開かれているかロックされているかどうかを確認し、ファイルを閉じるか解放して、クエリを再実行します。管理者として試してください。Management Studio をなどとして実行します。

MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか? MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか? Dec 17, 2023 am 08:41 AM

MySQL でデータの集計と統計に SQL ステートメントを使用するにはどうすればよいですか?データの集計と統計は、データ分析と統計を実行する際の非常に重要な手順です。 MySQL は強力なリレーショナル データベース管理システムとして、データの集約と統計操作を簡単に実行できる豊富な集約機能と統計機能を提供します。この記事では、SQL ステートメントを使用して MySQL でデータの集計と統計を実行する方法を紹介し、具体的なコード例を示します。 1. カウントには COUNT 関数を使用します。COUNT 関数は最も一般的に使用されます。

See all articles