簡體   English   中英

mysql不會從html / php更新信息

[英]mysql doesn't update information from html/php

我遇到的問題:我做了一個“聯系”表格,該表格應該將數據發送到我的數據庫。 一切正常,從本地主機訪問頁面后沒有錯誤,顯示了我想要查看的結果,但是數據庫(localhost / phpmyadmin / ..)沒有更新任何信息。

這是我的PHP:

 if(isset($_POST['insert']))
{
    $hostname = 'localhost';
    $username = 'root';
    $password = '';
    $databaseName = 'nig';

$Nume = $_POST['nume'];
$Email = $_POST['email'];
$Telefon = $_POST['telefon'];
$Subiect = $_POST['subiect'];
$Mesaj = $_POST['mesaj'];

$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$query = "INSERT INTO `amar` (`nume`, `email`, `telefon`, `subiect`, `mesaj`) VALUES ('$Nume','$Email','$Telefon','$Subiect','$Mesaj')";

$result = mysqli_query($connect,$query);

if($result)
{
    echo 'Mesaj trimis.';
}else{
    echo 'Mesaj netrimis';
}

mysqli_free_result($result);
mysqli_close($connect);

這是我的HTML:

<form action="insert2.php" action="post">
    <form role="form">
      <div class="form-group">
        <label for="nume">Nume complet</label>
        <input type="text" class="form-control"  name="nume">
      </div>
      <div class="form-group">
        <label for="email">Adresa e-mail</label>
        <input type="text" class="form-control"  name="email">
      </div>
      <div class="form-group">
        <label for="telefon">Telefon</label>
        <input type="text" class="form-control"  name="telefon">
      </div>
      <div class="form-group">
        <label for="subiect">Subiect</label>
        <input type="text" class="form-control"  name="subiect">
      </div>
      <div class="form-group">
        <label for="mesaj">Mesaj</label>
        <textarea class="form-control"  name="mesaj" rows="8"></textarea>
      </div>
      <input type="submit" name="insert" class="btn btn-theme" value="insert"></button>
    </form>

結果應該是我的MySQL中的數據。 但是數據庫沒有任何數據,我在做什么錯?

您有兩個表單標記,一個在另一個內。

改變這個...

<form action="insert2.php" action="post">
<form role="form">

為此...

<form action="insert2.php" action="post">

另外,請注意,您的PHP代碼對SQL注入開放。 永遠不要相信用戶輸入。 在查詢中使用數據之前,請始終驗證和/或轉義用戶輸入的數據。 或更妙的是,使用了預處理語句或存儲過程。

更新1:

好的,很遺憾聽到這不起作用。 請添加以下mysqli錯誤調試,以便我們了解發生了什么。

改變這個...

$result = mysqli_query($connect,$query);

為此...

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$result = mysqli_query($connect,$query)

if (!$result)) {
    printf("Errormessage: %s\n", mysqli_error($connect));
}

然后運行代碼,看看是否有任何錯誤可能對我們有所幫助。

更新2:

好,嘗試另一調試。

在這之后...

$query = "INSERT INTO `amar` (`nume`, `email`, `telefon`, `subiect`, `mesaj`) VALUES ('$Nume','$Email','$Telefon','$Subiect','$Mesaj')";

添加這個...

die($query);

保存並運行代碼。

您將獲得一個SQL查詢。 復制並粘貼該SQL查詢,然后在您的數據庫管理工具(例如phpMyAdmin)中運行它。 查看在手動運行查詢時是否添加了記錄,或者是否出現任何錯誤。

讓我們知道結果。

暫無
暫無

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

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