我注意到,当我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