insert语句不将记录插入数据库

时间:2014-05-10 22:56:05

标签: php mysql database

我正在尝试插入一些东西,但它不起作用。我有一段时间没有在PHP中编程,而且有点生疏。有人可以帮忙吗?

注意:已建立数据库连接。

新问题

 $query= "INSERT INTO products (p_link, detail, price, title, stock, ship_d) VALUES ('$_POST['link']', '1', '1', '1', '1', '1')";
 $results = mysql_query($query, $link);

3 个答案:

答案 0 :(得分:2)

是的,列名不应该用单引号括起来,而是使用反引号。

 $query= "INSERT INTO products (`p_link`, `detail`, `price`, `title`, `stock`, `ship_d`) VALUES ('1', '1', '1', '1', '1', '1')";

mysql_*)扩展程序自PHP 5.5.0起已弃用,将来会被删除。相反,应使用MySQLiPDO_MySQL扩展名的准备好的语句来抵御SQL注入攻击!

答案 1 :(得分:0)

在列/表名称周围添加反引号通常是一种很好的做法 - 如果你的一个列/表是一个保留字 - 但在这种情况下它不是必需的,而不是查询的问题。问题与...('$_POST['link']',...

中的单引号混在一起

改变这个:

" ... VALUES ('$_POST['link']', '1', '1', '1', '1', '1')";

对此:

" ... VALUES ('".$_POST['link']."', '1', '1', '1', '1', '1')";

答案 2 :(得分:0)

$result = mysqli_query($connection, "INSERT INTO products (p_link, detail, price, title, stock, ship_d) VALUES ('".$_POST['link']."', '1', '1', '1', '1', '1')";

我认为这应该适合你。