Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 扫描已使用的用户名后将数据插入mysql_Php_Mysql_Database_Xcode - Fatal编程技术网

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

Php 扫描已使用的用户名后将数据插入mysql,php,mysql,database,xcode,Php,Mysql,Database,Xcode,我对php非常陌生,我正在尝试将数据插入我的数据库。在我试图更新的数据库中已经有一个名为Locate的表,它有经度、纬度和ID列 首先,我下面的代码是否适合更新此表 其次,我想添加代码来检查数据库,并确保ID不是已经使用过的ID,提前谢谢 <?php $longitude = $_GET['longitude']; $latitude = $_GET['latitude']; $username = $_GET['username']; // Create connection

我对php非常陌生,我正在尝试将数据插入我的数据库。在我试图更新的数据库中已经有一个名为Locate的表,它有经度、纬度和ID列

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

其次,我想添加代码来检查数据库,并确保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_u和mysqli_u混合MySQL API,它们不会混合在一起

旁注:DB connection变量在mysqli_389;中是第一个变量,因此已经进行了更改以反映它。请参阅下面的修复程序

另外,在集合中使用AND而不是逗号作为分隔符来分隔要更新的两列

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

$res = mysqli_query($con,$sql) or die(mysqli_error($con));
您还太早关闭了DB连接,请在检查查询是否成功后放置它:

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

mysqli_close($con);
还要确保表单反映了变量的GET方法

另外,您当前的代码对用户开放。使用,或者,它们更安全

访问MySQL.com网站了解更新时的语法:

但是,您的问题标题读作插入数据。。。在你的问题中,我试图将数据插入我的数据库

如果要插入而不是更新,请执行以下操作

$sql = "INSERT INTO CFP (Longitude, Latitude) VALUES ('$longitude', '$latitude')";
有关如何插入表格的语法,请访问:

错误报告

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

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

// rest of your code

旁注:错误报告只应在暂存阶段进行,而不应在生产阶段进行。

您的代码有一些错误,如下几行:

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

$res = mysql_query($sql,$con) or die(mysql_error());
您正在使用MySQL_u和mysqli_u混合MySQL API,它们不会混合在一起

旁注:DB connection变量在mysqli_389;中是第一个变量,因此已经进行了更改以反映它。请参阅下面的修复程序

另外,在集合中使用AND而不是逗号作为分隔符来分隔要更新的两列

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

$res = mysqli_query($con,$sql) or die(mysqli_error($con));
您还太早关闭了DB连接,请在检查查询是否成功后放置它:

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

mysqli_close($con);
还要确保表单反映了变量的GET方法

另外,您当前的代码对用户开放。使用,或者,它们更安全

访问MySQL.com网站了解更新时的语法:

但是,您的问题标题读作插入数据。。。在你的问题中,我试图将数据插入我的数据库

如果要插入而不是更新,请执行以下操作

$sql = "INSERT INTO CFP (Longitude, Latitude) VALUES ('$longitude', '$latitude')";
有关如何插入表格的语法,请访问:

错误报告

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

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

// rest of your code

旁注:错误报告只应在暂存阶段进行,而不应在生产阶段进行。

首先,您不应使用GET请求对数据库进行更改。来自服务器的GET请求应仅用于查看数据,如在搜索请求或类似的情况下

接下来,您不会因为恶意代码而逃避提交的信息

最后,您正在混合使用mysql和MySQLIAPI,这并不会产生您想要的行为

无论如何,我不知道您的应用程序有多么复杂,所以我将按照您的要求进行必要的更正:

<?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', Latitude = '$latitude' WHERE ID = '$username'";

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

// Close connections
mysqli_close($con);
if($res){
   echo "success";
}else{
   echo "failed";
}
?>
变化: 1.您不需要在$sql变量的查询末尾放一个分号,只需关闭括号并将分号放在常规PHP语句的末尾

我使用了一些额外的格式,使您的代码更清晰

在MySQL的UPDATE语句中设置多个值时,请使用逗号,而不是“AND”


首先也是最重要的一点,您不应该使用GET请求对数据库进行更改。来自服务器的GET请求应仅用于查看数据,如在搜索请求或类似的情况下

接下来,您不会因为恶意代码而逃避提交的信息

最后,您正在混合使用mysql和MySQLIAPI,这并不会产生您想要的行为

无论如何,我不知道您的应用程序有多么复杂,所以我将按照您的要求进行必要的更正:

<?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', Latitude = '$latitude' WHERE ID = '$username'";

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

// Close connections
mysqli_close($con);
if($res){
   echo "success";
}else{
   echo "failed";
}
?>
变化: 1.您不需要在$sql变量的查询末尾放一个分号,只需关闭括号并将分号放在常规PHP语句的末尾

我使用了一些额外的格式,使您的代码更清晰

在MySQL的UPDATE语句中设置多个值时,请使用逗号,而不是“AND”


您没有在$sql变量的查询末尾放一个分号-如果是单个查询,分号就可以了,没有语法错误,它是有效的。mysql\u错误需要是mysqli\u错误$conOh yea,您是对的Fred,没有捕捉到那个错误。我刚才在读你的回答,我们的思路是一样的;我认为你的答案更全面,所以应该使用你的答案。任何有助于回答其他问题的答案。许多人会干脆投反对票,一句话也不说
ng。另一方面,当评论是否有任何错误或是否有改进的余地时,我喜欢将其视为一种贡献。干杯,不要在$sql变量的查询末尾加分号-如果是单个查询,分号就可以了,没有语法错误,它是有效的。mysql\u错误必须是mysqli\u错误$conOh是的,你说得对,Fred,没有捕捉到那个错误。我刚才在读你的回答,我们的思路是一样的;我认为你的答案更全面,所以应该使用你的答案。任何有助于回答其他问题的答案。许多人会干脆投反对票,一言不发。另一方面,当评论是否有任何错误或是否有改进的余地时,我喜欢将其视为一种贡献。干杯