公司沒有用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」方法的佔位符應該是數值型的。如文檔紅框中的英文:
也就是你的SQL中的參數綁定佔位符應該要替換成“?”,如下:
<code class="php"> $statement=$db->prepare('SELECT * FROM robots WHERE name = ?'); $result=$connection->executePrepared($statement, array('Voltron'));</code>
其次,query方法本身就是傳回一個物件實例,在文件中對此有說明,同時也說明了傳回陣列的方式:
這裡我再給你以一段範例程式碼:
<code class="php"> $result = $connection -> query($sql); $result -> setFetchMode(Db::FETCH_ASSOC); $array = $result -> fetchAll();</code>
友情提示:多看文件:)
參考文件:連結描述
連結描述