gpt4 book ai didi

php - 扫描已使用的用户名后将数据插入mysql

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:26 28 4
gpt4 key购买 nike

我是 php 的新手,我正在尝试将数据插入我的数据库。我正在尝试更新的数据库中已经有一个名为“Locate”的表,它包含“Longitude”、“Latitude”和“ID”列。

首先,我下面的代码是否适合更新此表。

其次,我想添加代码来检查数据库并确保 ID 未被使用,在此先感谢。

<?php

$longitude = $_GET['longitude'];
$latitude = $_GET['latitude'];
$username = $_GET['username'];

// Create connection
$con=mysqli_connect("localhost","dbuser","password","yviewdb");

// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql = "UPDATE CFP SET Longitude = '$longitude' AND Latitude = '$latitude' WHERE ID = '$username';";

$res = mysql_query($sql,$con) or die(mysql_error());

// Close connections
mysqli_close($con);
if ($res) {
echo "success";
}else{
echo "failed";
}
?>

最佳答案

您的代码有一些问题,例如这些行:

$sql = "UPDATE CFP SET Longitude =  '$longitude' AND Latitude = '$latitude' WHERE ID = '$username';";

$res = mysql_query($sql,$con) or die(mysql_error());

您正在使用 mysql_mysqli_ 混合使用 MySQL API,它们不会混合在一起。

旁注:DB 连接变量在 mysqli_ 中排在第一位,因此已更改以反射(reflect)它。请参阅下面的修复程序。

另外,您在 SET 中使用 AND 而不是逗号(作为分隔符)来分隔要更新的两列。

$sql = "UPDATE CFP SET Longitude =  '$longitude', Latitude = '$latitude' WHERE ID = '$username';";

$res = mysqli_query($con,$sql) or die(mysqli_error($con));

您也太早关闭了数据库连接,请在检查查询是否成功后放置它:

 if ($res) {
echo "success";
}else{
echo "failed";
}

mysqli_close($con);

还要确保您的表单反射(reflect)了变量的 GET 方法。

另外,您当前的密码是开放给SQL injection的.使用 prepared statements , 或 PDO with prepared statements它们更安全


访问 MySQL.com 网站获取更新语法:


但是,您的问题标题读作“插入数据...”,而在您的问题中“我正在尝试将数据插入我的数据库”

如果你想插入而不是更新,那么做

$sql = "INSERT INTO CFP (Longitude, Latitude) VALUES ('$longitude', '$latitude')";

有关如何插入表的语法,请访问:


报错

添加error reporting到您的文件的顶部,这将有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告只应在试运行中进行,绝不能在生产中进行。

关于php - 扫描已使用的用户名后将数据插入mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26812169/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com