PHPでSQL文 何度もミスるケース

ここのところ、同じミスばかりやってます。
そして、それになかなか気づかない…。


PHPSQL文を作成するときです。
例えば、DBからユーザー名が"名無しさん"の行を取得する場合…

                                                                                                                  • -


$str='名無しさん';
$query="SELECT * FROM tbl_test WHERE name='".$str."'";
?>

                                                                                                                  • -


とソースを書いてますが、
'".$str."'
で、いつも外側の
シングルクォーテーションを付け忘れてしまうんですよ…。
name=".$str."ってな具合に。


しかし、よくよく考えてみたら、SQL文全体を
ダブルクォーテーションで囲んでいるんですから、
'$str'
という形でOKなんですよね。


はじめからこうすれば、余計なミスをせずにすんだのに…。
時刻の場合も
'".date('Y-m-d H:i:s')."'
とせずに、一旦変数に格納しておいて、その変数を
SQL文に挿入すればOK。


(※SQLiteの関数datetime()は使いたくないです…。
バージョン2と3で現在時刻を取得するための表記が
異なりますから…。
SQLite2→datetime('now')
SQLite3→datetime(CURRENT_TIMESTAMP))


ダブルクォーテーションの中の変数は展開されるという
機能を、忘れずに上手に活用したいです…。