「來運行多個SQL查詢試圖創建一個CRUD,除了我的Update函數,其他所有工具都可以運行。我覺得問題出在第二個sql查詢中。當我點擊提交時,它只是刷新,變化消失了。任何人都可以告訴我如何找到我需要改變/讓我改變什麼?
<head>
<title>Update</title>
</head>
<body>
</form>
<?php
require_once('dbconnect.php');
$id = $_GET['id'];
$sql = "SELECT * FROM dealers where ID=$id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<form action="" method="post">';
echo "Company: <input type=\"text\" name=\"CName\" value=\"".$row['CName']."\"></input>";
echo "<br>";
echo "Contact: <input type=\"text\" name=\"Contact\" value=\"".$row['Contact']."\"></input>";
echo "<br>";
echo "City: <input type=\"text\" name=\"City\" value=\"".$row['City']."\"></input>";
echo "<br>";
echo "<input type=\"Submit\" = \"Submit\" type = \"Submit\" id = \"Submit\" value = \"Submit\">";
echo "</form>";
}
echo "</table>";
} else {
echo "0 results";
}
if(isset($_POST['Submit'])){
$sql = "UPDATE dealers SET CName='$CName', Contact='$Contact', City='$City' where ID=$id";
$result = $conn->query($sql);
}
$conn->close();
?>
您的代碼很容易受到[SQL-注射(http://stackoverflow.com/questions/60174 /如何-可以-I-防止-SQL注入功能於PHP)。請開始使用Prepared,Parameterized Queries。 –
如果你沒有選擇(我有一個PHB,堅持任何HTML通過PHP'echo'服務) - 然後在你的if(isset($ _ POST)邏輯塊中,你需要重新執行SELECT *來自ID = $ id - >的經銷商,並回顯HTML的變化。由於這是服務器端邏輯提供HTML,所以它就像一頭爛泥似的混亂,你需要區分你的顧慮:你有一個SELECT(cRud )和一個UPDATE(crUd)在同一個函數中,這很糟糕,即使你從服務器上提供動態HTML(這也是不好的) – RyanNerd