2015-09-04 147 views
-2

我在將數據插入數據庫'justrated'時遇到問題。一旦用戶輸入了他們的商業名稱,它應該在「商業」表中創建一個新條目。出於某種原因,我無法得到它,以便數據輸入到表格中。任何建議很樂意欣賞。將數據插入MYSQL數據庫

CODE:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Test</title> 
</head> 
<body> 
<form> 

<input type="text" name="BusinessName" method="POST"> 
<input type="Submit" value="submit" name="submit" method="POST"> 

</form> 

<?php 


if (isset($_POST["submit"])){ 
    //create connection 
    $conn = new mysqli("localhost", "root", "", "justrated"); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "INSERT INTO businesses (BusinessName) 
VALUES ('".$_POST['BusinessName']."')"; 
    mysql_query($sql); 
    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

    $conn->close(); 
} 

?> 

</body> 
</html> 
+0

您需要學習[html form](http://www.w3schools.com/html/html_forms.asp)。並且不要混合使用'mysql和mysqli' – Saty

+0

當你使用'mysqli'時,你不能使用'mysql_query()'。 – Barmar

+0

@Saty他的表格有什麼問題? – Barmar

回答

0

HTML:

<form method="POST"> 

    <input type="text" name="BusinessName"> 
    <input type="Submit" value="submit" name="submit" > 

    </form> 

PHP的: 使用

$conn->query($sql); not mysql_query() 
+0

這不是'mysqli_query'的正確語法。他已經有'$ conn-> query($ sql)',這是正確的。 – Barmar

0

HTML代碼

<form method="post" action="test1.php"> 
<input type="text" name="BusinessName" > 
<input type="Submit" value="submit" name="submit" > 
</form> 

PHP代碼

if (isset($_POST["submit"])) 
{ 
    //create connection 
    $conn = new mysqli("localhost", "root", "", "justrated"); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "INSERT INTO businesses (`BusinessName`) 
     VALUES ('".$_POST['BusinessName']."')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "New record created successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 
    $conn->close(); 
} 

不要混用mysql & mysqli ....

0

你好,請檢查這一項我希望這會爲你工作

$sql = "INSERT INTO businesses (`BusinessName`) 
     VALUES ('".$_POST['BusinessName']."')"; 

if (mysqli_query($conn, $sql)) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
1

你的一個問題是$_POST['BusinessName']是空的,因爲表單是使用GET請求提交的,而不是POST請求。 method=POST屬性發生在<form>元素上。例如:

<form method="POST"> 
    <input type="text" name="BusinessName"> 
    <input type="Submit" value="submit" name="submit"> 
</form> 

此外,你應該將其插入到數據庫之前正確轉義數據:

$sql = "INSERT INTO businesses (BusinessName) 
VALUES ('" . $conn->real_escape_string ($_POST['BusinessName']) . "')"; 

此外,在這兩行:

mysql_query($sql); 
if ($conn->query($sql) === TRUE) { 

您嘗試執行兩次使用MySQL和MySQLi擴展同樣的查詢。你應該刪除第一行。