2017-03-18 49 views
1

我做了一个HTML表单,从用户输入数据并将其存储在数据库中。够简单。但是,当我在linux终端上检查我的数据库时,它显示出一个空集。数据没有添加到数据库使用PHP

我用过的命令是mysqli。我有一个困惑,有没有单独的命令来访问linux上的mysqli或mysql命令才被使用。

文件的形式:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
\t <title>Products Page</title> 
 
</head> 
 
<body> 
 
<h1>ADD A NEW PRODUCT</h1> 
 
<form action="add_pro.php" method="post" > 
 
\t <table> 
 
\t <tr> 
 
\t <td> Product Name </td> 
 
\t <td> <input type="text" name="name"> </td> 
 
\t </tr> 
 
\t <tr> 
 
\t <td> Price </td> 
 
\t <td> <input type="number" name="price"> </td> 
 
\t </tr> 
 
\t <tr colspan = 2> 
 
\t <td> <input type="submit" name="submit"> </td> 
 
\t </tr> 
 
\t </table> 
 
</form> 
 
</body> 
 
</html>
PHP文件是:

<?php 
 

 
$link = new mysqli('localhost', 'root', 'root', 'inventory') or die(mysqli_error()); 
 

 
$pro_name = $_POST['name']; 
 
$price = $_POST['price']; 
 

 
$sql = "INSERT INTO products (name , price) VALUES ('$pro_name', '$price')"; 
 
mysqli_query($sql); 
 

 
?>

我的系统有PHP 7.0的Apache2运行。请告诉我为什么数据没有被添加到数据库中。

谢谢!

+0

任何错误....? –

+0

你得到了哪个错误? – denny

回答

0

(抱歉不好英语)

$link = new mysqli('localhost', 'root', 'root', 'inventory') or die(mysqli_error()); 

$link是一个MySQL对象,mysqli_query是一个函数,你应该做的:

$pro_name = $_POST['name']; 
$price = $_POST['price']; 

$sql = "INSERT INTO products (name , price) VALUES ('$pro_name', '$price')"; 
//use mysqli object (which is connected) to query 
$link->query($sql); 

而且...... mysqli_query第一个参数是一个mysqli的链接来自mysqli_connect函数。如果您使用mysqli对象进行连接,请使用该对象进行查询。

+1

或'mysqli_query($ link,$ sql);'... –

+0

谢谢你这么多!有效! –

-1

围绕表名和括号内的列名添加反斜杠。在查询的末尾添加分号;
1.确保mysql登录名的表名和用户名密码正确。
2.确保你的php文件的路径是正确的。
除此之外,你的代码看起来很好。

此外,您的代码不包括在你的

mysqli_query($sql) 

改变这对你的数据库的连接:

mysqli_query($link,$sql); 
+0

试试这个,它应该工作 – programmingandroid