mysql get one_Ecshop 数据库操作方法getRow、getAll、getOne区别
ECShop沒有使用一些開源的數據庫操作類,比如adodb或者PEAR,而是封裝了自己的實現。這樣做的好處是實現非常輕量,大大減小了分發包的文件大小。另外,當網站需要做memcached緩存時,也可以很方便的實現。
當然,這樣做的后果就是數據庫的選擇非常狹窄,無法實現其它的非MySQL數據庫。
ECShop的數據操作類文件是includes/cls_mysql.php,類名是cls_mysql。
該類主要提供了下面 一些比較有用的方法:
getAll($sql)和getAllCached($sql, $cached = 'FILEFIRST'):獲取所有記錄。
function getAll($sql)
{
$res = $this->query($sql);
if ($res !== false)
{
$arr = array();
while ($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
return $arr;
}
else
{
return false;
}
}
getRow($sql, $limited = false)和getRowCached($sql, $cached = 'FILEFIRST'):獲取單行記錄。
getCol($sqlse)和getColCached($sql, $cached = 'FILEFIRST'):獲取某欄位的所有值。
getOne($sql, $limited = false)和getOneCached($sql, $cached = 'FILEFIRST'):獲取單個數值。
function getOne($sql, $limited = false)
{
if ($limited == true)
{
$sql = trim($sql . ' LIMIT 1');
}
$res = $this->query($sql);
if ($res !== false)
{
$row = mysql_fetch_row($res);
if ($row !== false)
{
return $row[0];
}
else
{
return '';
}
}
else
{
return false;
}
}
query($sql):執行數據庫查詢。
autoExecute($table, $field_values, $mode = 'INSERT', $where = ''):數據庫表操作。
總結
以上是生活随笔為你收集整理的mysql get one_Ecshop 数据库操作方法getRow、getAll、getOne区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 烧茄子的家常做法?
- 下一篇: 如何正确使用烤箱,避免食物烤糊?