簡體   English   中英

將記錄添加到MYSQL數據庫無法在PHP中工作

[英]adding record to MYSQL database wont work in PHP

我已經編寫了PHP代碼以向我的數據庫添加一條記錄。 當我單擊“保存”按鈕時,它應該顯示“成功保存”,但是所有發生的事情是頁面刷新,數據庫中沒有添加的記錄,並且沒有彈出“成功保存”消息。

我的數據庫連接正常工作。 所以我不知道可能是什么問題。

這是PHP代碼:

<?php
error_reporting(0);
$con = mysqli_connect("localhost", "root", "password") or die("error");
if($con) {
    mysqli_select_db("maplibrary",$con);
}

if (isset($_POST["save"])) {
    $sql = mysqli_query("INSERT INTO member (memberID, firstName, surname, contactDetails) 
        VALUES('{$_POST['memberID']}',
            '{$_POST['firstName']}',
            '{$_POST['surname']}',
            '{$_POST['contactDetails']}'
            )");

    if ($sql) {
        echo "save successfully";
    }
}
?>

這是HTML代碼:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>ViewMembers</title>
    </head>
    <body>
        <form action="" method="post">
            <table style="border:1 #F00 solid;width:500px;overflow:auto;margin:auto;background:#999;">
                <tr>
                    <td>Member ID</td>
                    <td><input type="text" name"memberID" /></td>
                </tr>
                <tr>
                    <td>First Name</td>
                    <td><input type="text" name"firstName" /></td>
                </tr>
                <tr>                
                    <td>Surname</td>
                    <td><input type="text" name"surname" /></td>
                </tr>
                <tr>
                    <td>Contact Details</td>
                    <td><input type="text" name"contactDetails" /></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="Save" name="save" /></td>
                </tr>
            </table>
        </form>
    </body>
</html>

您沒有添加$ conn作為mysqli_query函數的參數。 請參見用法: http : //www.w3schools.com/php/func_mysqli_query.asp

<?php
error_reporting(0);
$con = mysqli_connect("localhost","root","password") or die("error");
if($con)
{

    mysqli_select_db("maplibrary",$con);

}

if (isset($_POST["save"]))
{
    $sql = mysqli_query($con, "INSERT INTO member
    (memberID,firstName,surname,contactDetails) 
        VALUES('{$_POST['memberID']}',
            '{$_POST['firstName']}',
            '{$_POST['surname']}',
            '{$_POST['contactDetails']}'
            )");

        if ($sql)
        {
            echo "save successfully";

        }

}

?>

試試這個:

<?php
$servername = "localhost";
$username = "username";//YOUR USER NAME!
$password = "password";//YOUR PASSWORD!
$dbname = "myDB"; //YOUR DB NAME!

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
if (isset($_POST["save"])){
  $var1 = $_POST['memberID'];
  $var2 = $_POST['firstName'];
  $var3 = $_POST['surname'];
  $var4 = $_POST['contactDetails'];

$sql = "INSERT INTO member(memberID,firstName,surname,contactDetails)
VALUES ('".$var1."', '".$var2."', '"$var3."', '"$var4."')";

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

?>

希望我理解您的問題... :)順便說一句,我建議您創建一個僅包含連接的php文件,因為在某些時候您可能需要再次連接到數據庫,因此您不想再次復制代碼並再次...因此您可以創建一個僅包含連接線的connect.php,您可以將其(connect.php)包含在所需的任何頁面內。 它將使套件更加容易。 看: php include

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM