儘量不要使用普通的MySql。我知道學習新技術可能會感到壓倒性的,但我們生活在2016年。有很多工具可以讓你的生活更輕鬆。
例如DIBI數據庫層: https://github.com/dg/dibi
您可以使用正式版所示的文檔中:
SELECT:
dibi::query('SELECT * FROM users WHERE id = ?', $id);
INSERT
$arr = [
'name' => 'John',
'is_admin' => TRUE,
];
dibi::query('INSERT INTO users', $arr);
UPDATE
dibi::query('UPDATE users SET', $arr, 'WHERE `id`=?', $x);
或者你可以使用FLUENT版本:
選擇
$res = dibi::select('product_id')->as('id')
->select('title')
->from('products')
->innerJoin('orders')->using('(product_id)')
->orderBy('title')
->fetchAll();
INSERT
$record = array(
'title' => 'Výrobek',
'price' => 318,
'active' => TRUE,
);
dibi::insert('products', $record)
->execute();
UPDATE
$record = array(
'title' => 'Výrobek',
'price' => 318,
'active' => TRUE,
);
dibi::update('products', $record)
->where('product_id = %d', $id);
->execute();
它會讓你的生活更輕鬆。學習流暢的版本並連接你的查詢甚至是非常有趣的。當你需要測試你的查詢時,只需使用test()方法。
你甚至不必擔心sql注入。
你必須給我們更多的東西。什麼API使用?你有沒有試過檢查'$ sql'的值?代碼在哪裏運行? – FirstOne
正在執行的查詢的實際運行時值是什麼?數據庫中的實際錯誤是什麼? – David
__exactly__返回「false」? –