如何将Web窗体中的数据传输到数据库

问题描述:

我确信这已被询问了1000次,但我已经查看了所有内容,似乎无法使其工作。如何将Web窗体中的数据传输到数据库

形式:

<form action="sendinfo.php" method="post">    
    <h4>ID:</h4> 
    <input type="text" name="CustomerID"> 
<h4>First name:</h4> 
    <input type="text" name="FirstName"> 
    <h4>Last Name:</h4> 
    <input type="text" name="LastName"> 
    <h4>Street:</h4> 
    <input type="text" name="Street"> 
    <h4>City:</h4> 
    <input type="text" name="City"> 
    <h4>Zip:</h4> 
    <input type="text" name="Zip"> 
    <h4>State:</h4> 
    <input type="text" name="State"> 
    <h4>Phone:</h4> 
    <input type="text" name="Phone"> 
    <h4>Email:</h4> 
    <input type="text" name="Email"> 
    <input type="submit"> 
</form> 

sendinfo.php

<?php 
    include('connection.php'); 
    $dbh = con(); 

    $dbh->query = "INSERT INTO Customer (CustomerID, FirstName, LastName, Street, City, State, Zip, Phone, Email) 
    VALUES ('$_POST[CustomerID]', ('$_POST[FirstName]', ('$_POST[LastName]', ('$_POST[Street]', ('$_POST[City]', ('$_POST[State]', ('$_POST[Zip]', ('$_POST[Phone]', ('$_POST[Email]')"; 
    if (!mysql_query($user_info, $connect)) { die('Error: ' . mysql_error()); } echo “Your information was added to the database.”; mysql_close($connect); 

    ?> 

connection.php

<?php 
define("DB_HOST", "localhost"); 
define("DB_NAME", "Impact_Technologies"); 
define("DB_USER", "root"); 
define("DB_PASS", "password"); 

function con(){ 
    try { 
     $db_connection = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS); 
     return $db_connection; 
    } catch (PDOException $e) { 
     echo "Sorry, there was a problem connecting to the database." . $e->getMessage(); 
    } 
} 
?> 

当点击提交后,没有消息显示,并进入数据库没有信息

我看看有什么问题,('$_POST[CustomerID]', ('$_POST[FirstName]', ('$_POST[LastName]', ('$_POST[Street]', ('$_POST[City]', ('$_POST[State]', ('$_POST[Zip]', ('$_POST[Phone]', ('$_POST[Email]')

你的每一个值之前要打开一个括号,它应该是这样的:

('$_POST[CustomerID]', '$_POST[FirstName]', '$_POST[LastName]', '$_POST[Street]', '$_POST[City]', '$_POST[State]', '$_POST[Zip]', '$_POST[Phone]', '$_POST[Email]') 
+0

该死的复制粘贴哈哈。我发现了另一件事加上你说的和它的工作!非常感谢! – Randy

+0

非常欢迎,请将答案标为正确:)! –

首先,这样做

$id = $_POST['custormerID']; 
    $firstName = $_POST['FirstName']; 
//and so on 

简化代码其次,删除所有开始括号之前,每个值

$dbh->query = "INSERT INTO Customer (CustomerID, FirstName, 
LastName, Street, City, 
State, Zip, Phone, Email) 
    VALUES ('$id', '$FirstName', 
'$LastName', '$Street', '$City', 
'$State', '$Zip', '$Phone', '$Email')"; 
    if (!mysqli_query($user_info, $connect)) { 
die('Error: ' . mysqli_error()); 
} 
echo “Your information was added to the database.”; mysql_close($connect); 

第三, MySQL是贬值的,使用的mysqli或PDO来代替

if (!mysql_query($user_info, $connect)) { 
die('Error: ' . mysql_error()); } 
echo “Your information was added to the database.”; mysql_close($connect); 

做到这一点,而不是:

if (!mysqli_query($user_info, $connect)) { 
die('Error: ' . mysqli_error()); 
} 
echo “Your information was added to the database.”; mysqli_close($connect); 

侧面说明:或者是你使用的mysqli或PDO,不使用两者。 您可以了解PDO http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developershttp://www.w3schools.com/php/php_mysql_intro.asp