在我的PHP文件中,我执行以下操作
<?php
if(isset($_POST['submit'])){
$con = mysqli_connect(bla);
$query = "insert into users (name,username,password) values($_POST['name'],$_POST['username'],$_POST['password'])";
}
现在,即使条件不满足,即提交未完成,我也会收到错误。但是当我评论我的$ query = ...行时,没有错误。发生了什么事?
答案 0 :(得分:1)
您需要在变量周围放置'".
,如下所示:
$query = "insert into users (name,username,password) values('".$_POST['name']."','".$_POST['username']."','".$_POST['password']."')";
答案 1 :(得分:1)
将$_POST['...']
放在{}
之间
像'{$_POST['password']}','...
一样
将此代码放在最后显示错误:
if (mysqli_connect_errno()) {
echo mysqli_connect_error();
exit();
}
答案 2 :(得分:0)
当你将一个数组变量插入到一个字符串中时,有两种方法可以编写它:在变量周围加上大括号,或者在索引中省略引号:
$query = "insert into users (name,username,password)
values('{$_POST['name']}', {'$_POST['username']}', {'$_POST['password']'})";
您还需要查询本身的引号,以获得正确的SQL语法。
答案 3 :(得分:0)
首先考虑将post值放入局部变量,然后输入局部变量作为insert查询的值。例如:
$ name = $ _POST ['name'];
$ query = INSERT INTO users(name)VALUES(“$ name”)