簡體   English   中英

數據未從php頁面存儲在數據庫中

[英]Data not storing in database from php page

為什么我的代碼未在數據庫中存儲數據? 我已刪除所有發生的錯誤。

<html><body>    
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db="sample";
// Create connection
$conn = mysqli_connect($servername, $username, $password,$db);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
    echo "error";
}
echo "Connected successfully";

if(isset($_POST['submit']))
if(isset($_POST['submit'])){$Name=$_POST['name'];$age=$_POST‌​['age'];}

$sql = "INSERT INTO input1 (Name,age) VALUES (Name,age)";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>
<form action="" method="post">
  First name:<br>
  <input type="text" name="name"><br>
  Age:<br>
  <input type="text" name="age">
  <input type="submit" name="Submit">
</form>
</body></html>

您沒有將變量用作要插入數據庫的值。 您應該使用准備好的語句。

$sql = "INSERT INTO input1 (Name, age) VALUES (?, ?)";
$stmt = mysqli_prepare($conn, $sql) or die(mysqli_error($conn));
mysqli_stmt_bind_param($stmt, "si", $Name, $age);
if (mysqli_stmt_execute($stmt)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_stmt_error($stmt);
}

同樣,所有這些代碼都應位於if (isset($_POST['submit']))塊內。 否則,當用戶尚未提交表單時,您將嘗試將空變量插入數據庫。

暫無
暫無

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

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