0
我在PHP初學者,我想插入值轉換成使用PHP插入查詢我的下拉值我的數據庫表,我有一個錯誤插入數據,並且還希望更新數據庫表的存在價值時插入新值到數據庫表中,這裏是我的代碼幫我解決這個問題,我的代碼如下:如何插入和更新值到數據庫表中的PHP
<?php
include 'dbconfig.php';
?>
<html>
<head>
<title>Sales Panel App</title>
</head>
<body>
<form method="POST" name="myForm" action="<?php $_PHP_SELF ?>">
<table border="1">
<tr>
<td>Sales Person List</td>
<td>
<?php
$sql="select name,id from sales order by name";
echo "<select name = 'salelist' value=''>Sales Person Name</option>";
echo "<option value = 'Select Sales Person' selected>Select Sales Person</option>";
{
foreach ($conn->query($sql) as $row){
echo "<option value=$row[id]>$row[name]</option>";
}
echo "</select>";
}
echo "<br>";
?>
</td>
</tr>
<tr>
<td>No of Panels</td>
<td><input type="text" name="panelnumber" size="1"></td>
</tr>
</table>
<p><input type="submit" value="Submit" name="submit" id="submitdata"></p>
</form>
<?php
$salelist = $_POST['salelist'];
$panelnumber = $_POST['panelnumber'];
$sql2 = "select * from sales where name = $salelist";
$result = mysqli_query($sql2);
if ($row = mysqli_fetch_array($result)) {
$oldvalue = $panelnumber;
$newvalue = $oldvalue + $panelnumber;
$query = 'update sales where name = $panelnumber';
}
else {
$qry = "insert into sales (id, name, panelnumber) values ('', $salelist, $panelnumber)";
}
?>
</body>
</html>
夫婦一般點,首先檢查'$ _ POST [「salelist」] '使用'if(isset($ _ POST ['salelist']))'設置,你將避免這種警告。您在那裏插入數據庫連接下的代碼。在輸出到瀏覽器之前嘗試執行業務邏輯。 – Rasclatt
三,不要這樣做''select * from sales where name = $ salelist「',這是不安全的。最後,如果你這樣做,你需要大約'$ salelist' – Rasclatt
最佳單引號將用戶提交的數據時,使用綁定參數功能。如果你這樣做,你現在有(' 「選擇銷售*其中名稱= $ salelist」'和' 「插入銷售(ID,姓名,panelnumber)VALUES( '',$ salelist,$ panelnumber)」'和' '更新銷售名稱= $ panelnumber''),你是開放的SQL注入。 – Rasclatt