Redbean:入門(三) - Exec 以及 Query 以及 ConvertToBeans

<?php
    //引入rb入口文件
    include_once 'rb.php';
    
    //定義dsn以及相關的數據
    $dsn = 'mysql:host=localhost;dbname=hwibs_model';
    $user = 'root';
    $pass = '';
    $table = 'link';
    
    //連接數據庫
    R::setup($dsn,$user,$pass);
    
    //連接數據表
    R::dispense($table);
    
    //exec::直接執行一條sql語句[不須要連接表便可使用][參數2的綁定功能跟find同樣,再也不贅述]
    //注意,這裏通常適用於增刪改,查詢的話只會返回記錄條數,而不會返回記錄自己[若是你要查詢且返回記錄自己的話,須要使用getAll]
    $result = R::exec("select * from link");
    
    //getALL::這個功能跟load或find最大的區別在於,它只返回了數據自己,且以多維數組[即便你TM就一條記錄]的方式返回
    $result = R::getAll("select * from link where id = ?",array(4));//小小使用了綁定功能
    
    //getRow::這個功能跟上面的那個getAll同樣的,區別他只是返回單行而已,相似findOne,區別在於返回的是單維數組
    $result = R::getRow("select url from link");
    
    //getCol::傳說獲取一個單列的數據[也就是單字段啦]
    //1.注意,若是字段集合中是*或者爲多列,反正就取第一列,因此這個功能只在你只須要取一個字段的值的時候可用
    //2.固然,它能夠取多行,可是隻能取一列
    $result = R::getCol("select url from link");
    
    //getCell::這個跟上面的同樣同樣的,區別就在於上面的第二條,它只能取一列中的第一行的字段值[適用於精確獲取數據時候使用]
    $result = R::getCell('select url from link');
    
    //getAssoc::這個方法有意思;它只支持兩個字段列的數據返回,將第一個字段值做爲鍵,第二個字段值做爲值來返回
    //1.返回數據是一維數組
    $result = R::getAssoc("select url,name from link");
    
    //getAssocRow::實在是想不通這個功能跟TM的getAll有什麼不同的在那裏
    $result = R::getAssocRow("select * from link where id = 3");
    
    //convertToBeans::這個功能其實就是將使用除了load或find方法查找到的數據,又進行轉換爲redbaan本身的對象格式
    //1.至少就目前的理解能力而言,可用於刪除操做
    //2.參數2至少是一個一維數組,像getCell那樣只返回一個值的就不能進行轉換了
    $beans = R::convertToBeans($table,$result);
    
    
    print_r($beans);//輸出
    
?>
相關文章
相關標籤/搜索