我有一個使用mysqli_*()
函數(實際上,它使用mysql_*()
函數.gah!)的舊版應用程序。我使用aura/sqlquery作爲SQL查詢生成器。例如:當使用mysqli_ *連接時,在aura/sqlquery中進行變量綁定
$sql = (string) $select;
現在我想做的事情做一個where()
一些變量綁定:
$queryFactory = new Aura\SqlQuery\QueryFactory('mysql');
$select = $queryFactory->newSelect();
$select->from('sometable AS t')
->where('t.field1 = 0')
->where("t.field2 <> ''");
然後我們通過轉換成字符串獲取原始的SQL
$select->where('t.somefield = ?', $somevalue);
當我強制轉換爲字符串,轉義/綁定永遠不會發生。看來只有在使用PDO並準備好語句時纔會進行綁定。
任何想法如何在使用mysqli
連接時獲得aura/sqlquery
中的變量綁定?
我想運行一個查詢功能一個查詢生成器是一個需求,你不需要一個與原始SQL一起工作的解決方案? –
@YourCommonSense我更喜歡使用查詢生成器來處理複雜的連接。例如,如果一個User模型有幾個需要多個連接的方法,那麼很容易在單個輔助方法中執行這些常用連接,然後傳遞'$ select'對象。管理原始SQL文本對我來說感覺很麻煩。 –
是的,我明白了。但仍然。您的要求不明白。你只需要得到一個原始的SQL,與mysql_函數一起使用,這是唯一的選擇? –