プレーンなMySqlを使用しないでください。私は新技術の習得が圧倒していると感じているかもしれませんが、2016年に生きています。人生を楽にするツールがたくさんあります。
例DIBIデータベース層については
:ドキュメントに示すように、あなたはOFFICIAL VERSIONのいずれかを使用することができます 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 VERSION使用することができます。
を
$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();
をSELECT、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'を返しますか? –