わたしのデータベース
解決方法
/**
* データベース構成クラス
*/
クラスDBConfig
{
パブリック静的 $HOST = 'localhost';
public static $USERNAME = 'root';
パブリック静的 $PASSWORD = 'root';
public static $DATABASE = 'ショッピング';
パブリック静的 $CHARSET = 'utf8';
}
?>
复制代
/**
* データベース操作クラス
*/
クラスデータベース{
プライベート $接続;
/**
*施工方法
* @アクセス公開
*/
パブリック関数 __construct(){
$CONFIG = require(dirname(__FILE__).'/DBConfig.class.php');
$this>connection = mysql_connect(DBConfig::$HOST,DBConfig::$USERNAME,DBConfig::$PASSWORD);
mysql_select_db(DBConfig::$DATABASE);
mysql_query("SET NAMES '".DBConfig::$CHARSET."'");
}
/**
*破壊方法
* @アクセス公開
*/
パブリック関数 __destruct(){
mysql_close($this>接続);
}
/**
* SQLクエリステートメントを実行します
* @アクセス非公開
* @param string $p_sql クエリコマンド
* @return 配列レコードセット、レコードが空の配列を返さない場合
*/
プライベート関数クエリ($p_sql){
$dataTemp = mysql_query($p_sql,$this>接続);
$data = array();
$dataItem = 0;
while ($rows = mysql_fetch_assoc($dataTemp)) {
$data[$dataItem] = $rows;
$dataItem++;
}
$data を返します;
}
/**
* SQL文を実行します
* @アクセス公開
* @param string $p_sql 実行される SQL (INSERT、SELECT、UPDATE、または DELETE)
* @return SQL が SELECT の場合はレコードセットを返し、SQL が INSERT の場合は新しいレコード ID を返します。SQL が UPDATE または DELETE の場合は、影響を受ける行の数を返します。
*/
パブリック関数実行($p_sql){
$controlr = strtoupper(substr($p_sql,0,6));
スイッチ ($controlr) {
ケース「挿入」:
mysql_query($p_sql,$this>接続);
$result = mysql_insert_id($this>接続);
休憩;
ケース「選択」:
$result = $this>クエリ($p_sql,$this>接続);
休憩;
デフォルト:
mysql_query($p_sql,$this>接続);
$result = mysql_affected_rows($this>connection);
休憩;
}
$result を返します;
}
}
?>
复制代码调用很简单:
$sql = '....'; // 任意の変更を加えた句でも構いません
$db = 新しいデータベース();
$rs = $db>実行($sql);
$db = null;
请大家多多指教!
[ ]
D8888D回帰コンテンツ
看看呢 ~~ [img]http://www.phpchina.com/bbs/images/smilies/default/shy.gif[/img][img]http://www.phpchina.com/bbs/images/スマイリー/デフォルト/shy.gif[/img]