我注意到当我向数据库中插入和选择值时,必须要用单引号将字段括起来,如下所示:
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注入”。 - mvds