2016-05-03 108 views
-1

我確信這已被詢問了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(); 
    } 
} 
?> 

當點擊提交後,沒有消息顯示,並進入數據庫沒有信息

回答

1

我看看有什麼問題,('$_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

非常歡迎,請將答案標爲正確:)! –

1

首先,這樣做

$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

相關問題