我注意到,當我INSERT
和SELECT
值,並從數據庫中,我有包圍單引號的領域,像這樣:何時用撇號包圍SQL字段?
mysql_query("INSERT INTO employees (name, age) VALUES ('$name', '$age')");
不過,如果我是更新的時候,我會不使用單引號:
mysql_query("UPDATE employees SET age = age + 1 WHERE name = '$name'");
而且,它似乎加入的日期到SQL數據庫,我沒有用單引號要麼圍繞着它:
mysql_query("INSERT INTO employees (name, date) VALUES ('$name', NOW())");
此外,使用運營商如CONCAT時,似乎沒有必要之一:
mysql_query("UPDATE employees SET name=CONCAT(name,$lastName) WHERE id='$id'");
也許我只是編碼很差,但我似乎記得,如果我沒有圍繞一個領域在插入和選擇它時操作失敗時使用單引號。
雖然不同的主題,也請閱讀逃脫你把查詢值:字符串只是把'$ name'是不安全的。搜索例如'mysql_real_escape_string()'和「sql-injection」。 – mvds 2011-03-13 15:45:11
是啊,我總是這樣做,沒有後顧之憂^ _ ^ – 2011-03-13 15:47:18