タグ: 自作関数 を抽出しています。
Total: 3

PHPのDB接続の自作関数メモ

ブログ | 2010/11/28 20:03
// !define ---------------------------------------------->
define('DBSV','localhost'); //localhostとかipとか
define('DBUSER','root'); //rootとかユーザー名とか
define('DBPASS','xxxxxxxxxxxx');

define('DBNAME','dbmane');
define('PREFIX','dev_'); //tableにprefixをつけてるなら

// !db ---------------------------------------------->
$dbconn = false;

function db($sql,$ope='select',$dbname=DBNAME){
 global $dbconn;
 $sql = strtr($sql,array('@@'=>PREFIX,'@'=>'@'));
 if(empty($dbconn)) $dbconn = mysql_connect(DBSV,DBUSER,DBPASS);
 mysql_select_db($dbname,$dbconn);
 $res = mysql_query($sql,$dbconn) or die(mysql_error());
 switch($ope){
   case 'insert':
     $res = mysql_insert_id($dbconn);
     break;
   case 'update':
     $res = mysql_affected_rows($dbconn);
     break;
 }
 return $res;
}

function m($str){
 global $dbconn;
 if(empty($dbconn)) $dbconn = mysql_connect(DBSV,DBUSER,DBPASS);
 return mysql_real_escape_string(strtr($str,array('@'=>'@')));
}

// !debug ---------------------------------------------->
function d($v,$r = ''){
 $R = print_r($v,true);
 if(!empty($_SERVER['HTTP_USER_AGENT'])) $R = '<pre>'.$R.'</pre>';
 if($r) return $R;
 echo $R;
}
で、

$sql = "SELECT * FROM @@table WHERE field= ORDER BY field LIMIT 50;";
$res = db($sql);
while($row = mysql_fetch_assoc($res)){
 d($row);
}

$sql = "INSERT INTO @@table (field,field) VALUES (data,data);";
db($sql,'insert');
こんなかたちでつかう。

db関数の中で、いろいろやればいい。PEARとかPDOを使うとか、select系をレプリケーションしているサーバーに振るとか。

array_unpad($arr)

ブログ | 2008/3/6 00:05
function array_unpad($arr){
 $new = array();
 foreach($arr as $k=>$v){
   if($v != ''){
     $new[$k] = $v;
   }
 }
 return $new;
}

こんな関数ないのかな?

idsync(id,ids)

ブログ | 2007/10/19 17:37
function idsync(id,ids){
 ids = ids.split('|');
 for(i=0; i < ids.length; i++){
   document.getElementById(ids[i]).innerHTML = document.getElementById(id).innerHTML;
 }
}
idの内容をシンクロさせる。
前 | 1 | 次

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close