在用php保存到MySQL的时候出现了一个问题:
在下面这种情况下是成功的:
$sql= "insert into tablename set name='jenny'";
然后是保存语句,我就不写了
这样可以成功保存
但是变量并且直接赋值的形式就不对了:
$name="jenny";
$sql="insert into tablename set iname=' " . $name . " ' ";
这样可能很容易看出来问题所在,$name中已经有个双引号了,不需要在sql语句中再写入引号
但是在用前端传值的时候出现的错误就不好看出来了:
$name=$_POST['name'];
$sql="insert into tablename set iname=' " . $name . " ' ";
前端返回响应错误只有Syntax error: check error in …反正就是让你自己去检查sql语法是否有错误,这时候并不容易看出来问题所在,其实仍然是引号的问题。本来是觉着$name是个字符串应该用引号括起来,其实不应该添加引号。
如果使用js写前端一般不会出现我说的这种错误,特别是在写手机端或者用postman调试的时候,很容易犯错。