繁体   English   中英

PHP UPDATE查询不起作用

[英]PHP UPDATE query doesn't work

我想解决有关用户个人资料系统的代码问题。 注册期间,用户设置其个人信息,包括地址。 API google maps使用地址值。UPDATE查询无效。为什么? 注意:数据类型lat,lng为'decimal(10,8)decimal(11,8)'

<?php
include("database.php");
session_start();


    $error = "";
    if(isset($_POST['submit']))
    {
      $username = mysql_real_escape_string($_POST['username']);
      $name = mysql_real_escape_string($_POST['name']);
      $surname = mysql_real_escape_string($_POST['surname']);
      $affiliation = mysql_real_escape_string($_POST['affiliation']);
      $department = mysql_real_escape_string($_POST['department']);
      $address = mysql_real_escape_string($_POST['address']);
      $position = mysql_real_escape_string($_POST['position']);
      $email = mysql_real_escape_string($_POST['email']);
      $web = mysql_real_escape_string($_POST['web']);
      $telephone = mysql_real_escape_string($_POST['telephone']);
      $mobile = mysql_real_escape_string($_POST['mobile']);
      $password = $_POST['password'];
      $passwordConfirm = $_POST['passwordConfirm'];
      $privacy = $_POST['privacy'];

      //validare i valori inseriti dall'utente
      if(!filter_var($email, FILTER_VALIDATE_EMAIL))
      {
        $error = "Inserisci una email valida ";
      }

      else if (strlen($password < 8)) {
        $error = "La password deve contenere almeni 8 caratteri";
      }

      else if ($password != $passwordConfirm)
      {
        $error = "Le password devono coincidere!";
      }

      else {
        $error = "Ti sei appena registrato su B";
      }


      $sql = "INSERT INTO users(username, name, surname, affiliation, department,address,position,email,web,telephone,mobile,password,privacy) VALUES('$username','$name','$surname','$affiliation','$department','$address','$position','$email','$web','$telephone','$mobile','$password','$privacy')";
      mysqli_query($database,$sql) or die(mysqli_error($database));

      if($address !=''){
        $request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$address."&sensor=true";
        $xml = simplexml_load_file($request_url) or die("url not loading");
        $status = $xml->status;
        if ($status=="OK"){
          $lat = $xml->result->geometry->location->lat;
          $lng = $xml->result->geometry->location->lng;

        }
        $sql1 = "UPDATE users SET lng='$lng', lat='$lat' WHERE username='$username'";
        mysqli_query($database,$sql1) or die(mysqli_error($database));
      }
    }
    ?>

而不是使用AND ,您需要用逗号分隔,

$sql1 = "UPDATE users SET lng='$lng', lat='$lat' WHERE username='$username'";

不要使用And,也不要忘记添加反引号:),很高兴看到新手完全避免了mysql_ *:D

$sql1 = "UPDATE `users` SET `lng`='$lng', `lat`='$lat' WHERE `username`='$username'";

在更新语句中用逗号替换AND

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM