我寫了這段代碼來更新我的sql表中的條目,但我沒有什麼錯。使用此代碼更新SQL數據,檢查代碼很多次
這裏是我的形式
<form action="" method="POST">
<center>
Alumni_ID :
<input type="text" name="valueh">
<br>
<input type="text" name="name" placeholder="name">
<input type="text" name="phone" placeholder="contact details">
<input type="text" name="details" placeholder="details">
<input type="text" name="address" placeholder="address">
<input type="submit" value="update data">
</center>
</form>
這是PHP頁面,
<?php if (isset($_POST['submit'])) {
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "tssolutions";
$ab = $_POST['name'];
$bc = $_POST['phone'];
$cd = $_POST['details'];
$de = $_POST['address'];
$posted = $_POST['valueh'];
//create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
//check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//echo "connected successfully";
$sql = " UPDATE phone SET name='".$ab."', phone='".$bc."', details='".$cd."', address='".$de."' WHERE name = '".$posted."' ";
if(mysqli_query($conn, $sql)) {
echo "<hr>";
echo "<h3 class='w3-center' style='text-color:black'>Record Successfully Updated</h3>";
} else {
echo "<hr>";
echo "<h3 class='w3-center' style='text-color:black'>Error While Updating, Try Again</h3>";
}
mysqli_close($conn);
} ?>
兩個密碼都在同一個頁面Update.php,我想送alumni_id,這樣我可以更新記錄alumni_id =表格電話中的姓名,然後發送該行的新值。
不要Munge時間SQL查詢字符串與值。相反,學習如何正確使用參數。篡改查詢字符串可能會導致無法解釋的查詢錯誤。 –
更值得關注的是連接SQL字符串,而不是在您的編程語言或選擇庫中使用參數化支持,這是因爲您打開自己的SQL注入攻擊。 – Craig
也許你有一個單引號的輸入值。使用參數可以讓你免受這個問題的困擾,同時也可以避免SQL注入攻擊。 – Craig