php操作数据库的问题?

$sql = 'insert into user(account,password,mail,phone,) VALUES ('.$account.','.$password.','.$mail.','.$phone.')';

$query = $this->link->query($sql);
往数据库插入数据时,VALUES括号内要以变量的形式书写,像上面这种书写方式正不正确?

阅读 2.5k
5 个回答
新手上路,请多包涵

查一下PHP字符串的表示方式,单引号和双引号的区别

$sql = "insert into user(account,password,mail,phone) VALUES ('".$account."','".$password."','".$mail."','".$phone."')";

建议你用sprintf,更加直观

$sql = "insert into user(account, password, mail, phone) VALUES ('{$account}', '{$password}', '{$mail}', '{$phone}')";
  1. 双引号里可以直接写变量,怕看不清可以加大括号隔离开
  2. 不知道用的框架还是写的原生,应该有防注入的写法吧,那个也挺清楚

单引号不解析变量,双引号解析变量,把单引号换成双引号就行啦

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题