您好目前与Id不匹配,但无法找到为什么它没有收到表ID(例如.0,1,2等),显示页面显示它们正好看着它。表格也可以整理代码吗?所有<?php ?>
标签似乎都很混乱。
据我所知,使用mysql 5.5。
错误:
无法执行UPDATE权重措施SET 1 =&#39; dszfxc&#39;,2 = &#39; Kilograms&#39;,10 =&#39; Liter&#39;,11 =&#39; Liter&#39;,12 =&#39; Ton&#39;,13 =&#39; vdd&# 39;,14 = &#39;巨型&#39; WHERE id = 14.您的SQL语法中有错误;检查 手册,对应右边的MySQL服务器版本 要使用的语法&#39; 1 =&#39; dszfxc&#39;,2 =&#39; Kilograms&#39;,10 =&#39; Liter&#39;,11 = &#39;升级&#39; 12 =&#39; Ton&#39;,13 =&#39; vdd&#39;,14&#39;在第1行
index.php输入表单
<div>
<?php $result = tablename(weightsmeasures); ?>
<form method="post" action="update.php">
<div class="col-8">
<?php while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>"; ?>
<td>
<input class="form-control" type="text" value="<?php echo $row['WeightorMeasure']; ?>" id="<?php echo $row['id']; ?>" name="<?php echo $row['id']; ?>">
</td>
<?php
echo "</tr>";
}
?>
</div>
<input type="submit" value="Update">
</form>
</div>
update.php
$id = $_POST['id'];
$sql = "UPDATE weightsmeasures SET";
$fieldValuePairs = array();
foreach($_POST as $key => $value)
if($key != 'id')
$fieldValuePairs[] = "$key = '$value'";
$sql .= " ". implode(',', $fieldValuePairs)." WHERE id = $id";
此致
答案 0 :(得分:0)
在这种情况下,您应该仔细阅读错误消息,然后再次阅读。
它表示您的查询如下所示:
UPDATE weightsmeasures SET 1 = 'dszfxc',
2 = 'Kilograms',
10 = 'Litre',
11 = 'Litre',
12 = 'Ton',
13 = 'vdd',
14 = 'mega'
WHERE id = 14
咦?看起来你的foreach语句中的键是数字。为此,他们需要成为列名。
即使你可以让它发挥作用,你也会抓住龙的尾巴从$_POST
变量中获取数据而不检查它。使用您最喜欢的搜索引擎查找“小约翰尼droptables。”