MySQL INSERT错误(什么都不做)

时间:2015-01-14 10:28:48

标签: php mysql sql-insert

您好我是mysql的新手,我试图使用INSERT将一些数据插入数据库,从HTML表单接收数据

插入数据

$q = "INSERT INTO 'customers'('firstname', 'lastname', 'email') VALUES ('$first, '$last', '$email')";
mysqli_query($dbc, $q);

这就是INSERT功能

选择数据

$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'];
}

这是SELECT函数以及我如何在php页面上显示数据库

  

无论我看到什么教程或论坛,我似乎无法解决为什么我无法添加或显示结果!?

3 个答案:

答案 0 :(得分:3)

不要使用引号来转义列名或表名,而是使用反引号。引号是字符串分隔符。

INSERT INTO `customers`(`firstname`, `lastname`, `email`) 
VALUES ('$first', '$last', '$email')

你应该考虑使用 Prepared Statements 预先安排SQL注入。但你绝对必须逃避用户输入。否则,您的输入也会产生语法错误。

正如另一个答案所指出的那样 - 你的第一个参数也确实错过了一个引用。

答案 1 :(得分:1)

试试这个......你有错误引用 $ first 的问题

 $q = "INSERT INTO customers(firstname, lastname, email) VALUES ('$first', '$last', '$email')";
 mysqli_query($q);

<强> EDITED

答案 2 :(得分:1)

通过包含列和表名引号,您可以在字符串中指定它们。使用以下代码

$q = "INSERT INTO customers(firstname, lastname, email) 
VALUES ('$first', '$last', '$email')";
mysqli_query($dbc, $q);

希望这有助于你