2015-09-04 150 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扩展同样的查询。你应该删除第一行。