Php MySQL插入错误(不执行任何操作)
嗨,我是mysql的新手,我正在尝试使用insert将一些数据插入数据库。数据是从HTML表单接收的 插入数据Php MySQL插入错误(不执行任何操作),php,mysql,sql-insert,Php,Mysql,Sql Insert,嗨,我是mysql的新手,我正在尝试使用insert将一些数据插入数据库。数据是从HTML表单接收的 插入数据 $q = "INSERT INTO 'customers'('firstname', 'lastname', 'email') VALUES ('$first, '$last', '$email')"; mysqli_query($dbc, $q); $q = 'SELECT * FROM customers'; $r = mysqli_query($dbc, $q) OR die
$q = "INSERT INTO 'customers'('firstname', 'lastname', 'email') VALUES ('$first, '$last', '$email')";
mysqli_query($dbc, $q);
$q = 'SELECT * FROM customers';
$r = mysqli_query($dbc, $q)
OR die
(mysqli_error());
echo 'customers';
while($row = mysqli_fetch_array ($r, MYSQL_ASSOC))
{
echo '<br />' .$row['firstname']. $row['lastname']. $row['email'];
}
这就是插入函数
选择数据
$q = "INSERT INTO 'customers'('firstname', 'lastname', 'email') VALUES ('$first, '$last', '$email')";
mysqli_query($dbc, $q);
$q = 'SELECT * FROM customers';
$r = mysqli_query($dbc, $q)
OR die
(mysqli_error());
echo 'customers';
while($row = mysqli_fetch_array ($r, MYSQL_ASSOC))
{
echo '<br />' .$row['firstname']. $row['lastname']. $row['email'];
}
$q='SELECT*FROM customers';
$r=mysqli\u查询($dbc,$q)
要死
(mysqli_error());
回应“顾客”;
而($row=mysqli\u fetch\u数组($r,MYSQL\u ASSOC))
{
回显“
”。$row['firstname']。$row['lastname']。$row['email'];
}
这就是SELECT函数以及我在php页面上显示数据库的方式
无论我在哪个教程或论坛上浏览,我似乎都不明白为什么我不能添加或显示结果
不要使用引号转义列名或表名,而是使用反勾号。引号是字符串分隔符
INSERT INTO `customers`(`firstname`, `lastname`, `email`)
VALUES ('$first', '$last', '$email')
您应该考虑使用准备好的语句来防止SQL注入。但你绝对必须避开用户的输入。否则,您的输入也会产生语法错误
正如在另一个答案中指出的那样,您在第一个参数中也遗漏了一个引号。尝试一下……您对$first有问题,您遗漏了引号
$q = "INSERT INTO customers(firstname, lastname, email) VALUES ('$first', '$last', '$email')";
mysqli_query($q);
编辑通过将列名和表名引号括起来,可以在字符串中指定它们。使用下面的代码
$q = "INSERT INTO customers(firstname, lastname, email)
VALUES ('$first', '$last', '$email')";
mysqli_query($dbc, $q);
希望这能帮助您检查您的数据库,看看这些记录是否真的添加了。另外,检查插入时是否没有任何错误。我正在做的项目不需要担心SQL注入。我发现了我在表单上使用POST时遇到的问题,但其他所有使用的内容现在都已全部排序。如果用户输入包含例如引号
,
,会发生什么情况?然后您有一个无效的SQL并抛出一个错误。('firstname','lastname','email')
这些是列,不是字符串值。不应该有引语。