首頁 >後端開發 >php教程 >phalcon資料庫模組的問題

phalcon資料庫模組的問題

WBOY
WBOY原創
2016-08-04 09:19:491263瀏覽

公司沒有用phalcon提供的操作資料庫的類別庫,而是用PhalconDbAdapterPdoMysql再次封裝的,但是我發現裡面有很多方法都有問題, 請大神幫忙

例如

$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron'));
這一段程式碼就沒有跑通,總是報錯數值有錯誤

還有這個
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots? WHERE type= ("mechanical"));
回傳的不是數組,但沒有說明用說明方式能再次取出數組的結果集

反正等等吧。 。 。 上面的例子都是官方文件來的

回覆內容:

公司沒有用phalcon提供的操作資料庫的類別庫,而是用PhalconDbAdapterPdoMysql再次封裝的,但是我發現裡面有很多方法都有問題, 請大神幫忙

例如

$statement = $db->prepare('SELECT * FROM robots WHERE name = :name');
$result = $connection->executePrepared($statement, array('name' => 'Voltron'));
這一段程式碼就沒有跑通,總是報錯數值有錯誤

還有這個
$resultset = $connection->query("SELECT * FROM robots WHERE type='mechanical'");
$resultset = $connection->query("SELECT * FROM robots? WHERE type= ("mechanical"));
回傳的不是數組,但沒有說明用說明方式能再次取出數組的結果集

反正等等吧。 。 。 上面的例子都是官方文件來的

首先,「executePrepared」方法的佔位符應該是數值型的。如文檔紅框中的英文:

phalcon資料庫模組的問題

也就是你的SQL中的參數綁定佔位符應該要替換成“?”,如下:

<code class="php">    $statement=$db->prepare('SELECT * FROM robots WHERE name = ?');
    $result=$connection->executePrepared($statement, array('Voltron'));</code>

其次,query方法本身就是傳回一個物件實例,在文件中對此有說明,同時也說明了傳回陣列的方式:

phalcon資料庫模組的問題

這裡我再給你以一段範例程式碼:

<code class="php">        $result = $connection -> query($sql);
        $result -> setFetchMode(Db::FETCH_ASSOC);
        $array = $result -> fetchAll();</code>

友情提示:多看文件:)

參考文件:連結描述
連結描述

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn