框架上通過連接在database.php中我有:笨數據庫不會只有一臺服務器
$db['default']['username'] = IS_PRODUCTION ? 'prodUsername' : 'localDevBoxUsername';
$db['default']['password'] = IS_PRODUCTION ? 'prodPassword' : 'localDevBoxPassword';
我的代碼是:
function test()
{
$this->load->database();
$result = $this->db->query('SELECT * FROM items WHERE description='Oranges');
echo 'rows:' . $result->num_rows();
}
當我在督促它無法運行此。
我們測試它不是一個數據庫配置的問題,我創建了一個名爲test.php的一個基本的PHP文件:
<?
if (! [email protected]_connect ("localhost", "prodUsername", "prodPassword"))
die("Error connecting to mysql");
@mysql_select_db("prodDatabase") or die("error connecting to specific database");
$result = @mysql_query('SELECT * FROM items WHERE description='Oranges');
echo 'rows: ' . mysql_num_rows($result);
?>
PHP的測試腳本完美的作品。 codeigniter代碼只適用於我的本地開發盒,但不適用於prod盒。我可能會失去什麼?
更新:請注意,雖然我在示例代碼中使用常量IS_PRODUCTION,但這不是問題。我已經拿出了這些價值觀並將他們硬連線。我只是將它包括在內,以使示例更加簡潔,它表明它可以在一種環境中使用,而不會在其他環境中使用。
Update2:此問題似乎只與模型有關。只要我把代碼移動到控制器上,它就可以工作...