mysqlデータベース操作関数パッケージ
現在のPHP操作データベースの多くはmysqliで実現されている.またmysqli操作データベースを実現するには、電子商取引のバックグラウンド管理でも非常に使いやすい.使用頻度が高い以上、関数ライブラリのパッケージを行うしかない.ここではクラスの方法でパッケージを行うのではなく、構造向けの方法で簡単にまとめた.
(1)データベースへの接続:
(2)データ挿入
(3)データの修正
(4)データの削除
(5)レコードの検索
(6)複数レコードの検索
(7)結果セットに戻るローの数
(1)データベースへの接続:
function connect(){
@$link = mysqli_connect(DB_HOST,DB_USER,DB_PWD);//
mysqli_set_charset($link,DB_CHARSET);//
mysqli_select_db($link,DB_DBNAME) or die(' ');//
if(mysqli_connect_errno())
{
die(' : '.mysqli_connect_errno());
}
return $link;
}
(2)データ挿入
function insert($link,$table,$array){
$keys = join(',',array_keys($array));
$values = "'".join(',',array_values($array))."'";
$sql = 'insert into {$table}({$keys}) values({$values})';
mysqli_query($link,$sql);
return mysqli_insert_id($link);
}
(3)データの修正
function update($link,$table,$array,$where = null) {
$setstr = '';
foreach ($array as $key => $value)
{
$setstr .= (' '.$key.'='.$value.' ');
if(!$setstr){
$sep = '';
}else{
$sep = ',';
}
$setstr .= $sep.$key.'='."'"$value"'";
}
$sql = "update {$table} set {$setstr}".($where ? 'where '.$where : '');
mysqli_query($link,$sql);
return mysqli_affected_rows($link);
}
(4)データの削除
function delete($link,$table,$where = null)
{
$sql = "delete from {$table}".($where?'where '.$where : '');
mysqli_query($link,$sql);
return mysqli_affected_rows($link);
}
(5)レコードの検索
function fetchOne($link,$sql,$result_type=MYSQLI_ASSOC)
{
$result = mysqli_query($link,$sql);
$row = mysqli_fetch_array($result,$result_type);
return $row;
}
(6)複数レコードの検索
function fetchAll($link,$sql,$result_type=MYSQLI_ASSOC)
{
$result = mysqli_query($link,$sql);
while(@$row = mysqli_fetch_array($result,$result_type))
{
$row[] = $row;
}
return $row;
}
(7)結果セットに戻るローの数
function getResultNum($link,$sql)
{
$result = mysqli_query($link,$sql);
return mysqli_num_rows($result);
}