php - 将单个值插入表单中的整个列
问题描述
我有一个关于从 html 到 php 处理表单的问题。我只想将输入的十进制数(经度/纬度)放入我的 Sql 表中的每个经度和纬度列中。我来啦 :
我有这样的表格:
<form action="hitung.php" method="POST" enctype="multipart/form-data"><fieldset><legend>Input Parameter Petir Klien Di bawah:</legend>
<table bordercolor="#FF0000" border="1"><caption>Tabel Input Lokasi Koordinat Klien</caption>
<tr><td>Isikan Longitude Lokasi Klien</td><td>:</td><td><input type="number" **name="long"** placeholder="Isikan nilai Longitude berupa Desimal" /></td></tr>
<tr><td>Isikan Latitude Lokasi Klien</td><td>:</td><td><input type="number" **name="lat"** placeholder="Isikan nilai Latitude berupa Desimal" /></td></tr>
<tr><td><input type="submit" name="klien" value="HITUNG DATA"/></td></tr>
<tr><td>
</td></tr></table></fieldset></form>
这是我制作的“hitung.php”:
<?php
set_time_limit(0);
include 'koneksi.php';
$longitude=$_POST['long'];
$latitude=$_POST['lat'];
$datalat = mysqli_query($con, "SELECT latitude FROM ngx");
$datalong = mysqli_query($con, "SELECT longitude FROM ngx");
$arraylat= mysqli_fetch_array($datalat);
$arraylong= mysqli_fetch_array($datalong);
while($longitude=$_POST['long'] && $latitude=$_POST['lat']) {
$lats= $arraylat['latitude'];
$longs= $arraylong['longitude'];
$update= mysqli_query($con, "INSERT INTO ngx (long, lat) VALUES ($lats, $longs)");}
?>
而且我想在我的查询表中添加一整列“lat”和“long”,并使用从上面的表单重新创建的相同的单个值(完全来自 lat/long 的输入文本),以便整个行lat 列将由 lat 的输入文本输入,long 列中的整行将由该表单的 long 输入文本输入
拜托,我还是编程新手……你会真诚地帮助我吗?非常感谢你。
解决方案
INSERT
用于向表中添加新行。要更改现有行中的列,请使用UPDATE
.
此外,您不应该使用while
. 您的循环条件不会改变,因此循环将永远运行。
如果您只想从表单中设置long
andlat
列,则无需先获取longitude
andlatitude
列。
<?php
set_time_limit(0);
include 'koneksi.php';
$longitude=$_POST['long'];
$latitude=$_POST['lat'];
$update= mysqli_prepare($con, "UPDATE ngx SET `long` = ?, `lat` = ?");
mysqli_stmt_bind_param($update, "dd", $longitude, $latitude);
mysqli_stmt_execute($update);
?>
我还展示了如何将您的代码转换为准备好的语句,以防止 SQL 注入。
请注意,您需要在列名周围加上反引号,long
因为它是保留关键字。因此,使用保留字作为列名通常是个坏主意。
推荐阅读
- php - 需要在每个子 json 数组中递归地插入新的键值对
- python - 如何解决 Django TypeError - post() 参数“slug”有多个值?
- java - PayPal 与 Telegram 的集成
- android - 设置树莓派,无头设置,无需显示器或 SD 卡读卡器
- java - ArrayOutOfBounds 异常(注册程序)
- networking - 谷歌存储/谷歌负载均衡器到谷歌域ssl
- android - 即使授予权限,也无法读取或写入外部存储
- reactjs - React 问题:如何在点击时将一个组件的 id 传递给另一个组件?
- performance - gfortran 9.3 的 zgetrf 例程非常慢
- python - 如何使用python迭代日期时间戳并计算每天的小时数