2017-03-18 81 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