我是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>
答案 0 :(得分:0)
你的问题在这里
$query = 'update sales where name = $panelnumber';
您没有说要更新的内容。您必须使用一种可用的方法来更新SQL行。
例如,正确的应该是:
$query = "update sales set city='rio' where name = '$panelnumber'";
Here是MySQL官方文档。 如果你写这个,你还有一个错误:
$number = 5;
$variable = '$number';
echo $variable;
$variable
的输出不会是&#34; 5&#34;,&#34; $ number&#34;,字面意思。如果您想在字符串中设置变量,则必须使用双引号(&#34; )而不是单引号(&#39; ),因为单引号将字面上保存他们之间的东西,双倍会尝试&#34;翻译&#34;变量和其他东西。
正确的方法是:
$number = 5;
$variable = "$number";
echo $variable;
Here你有一个详细的PHP官方解释我正在描述的内容。