[英]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.