【问题标题】:Android Update MySQL table through PHPAndroid 通过 PHP 更新 MySQL 表
【发布时间】:2017-01-06 05:18:46
【问题描述】:

我正在开发一个 Android 应用程序。我需要更新一个寄存器,我没有条目问题。但是当我尝试更新表格时,不起作用

这是我的 PHP

<?php
require_once 'include/userupdate.php';
$username = "";
$name = "";
$movil="";
$email = "";
$password = "";
$fnac = "";
$calle_numero_piso ="";
$nom_urba = "";
$cod_postal ="";
$localidad="";
$observaciones="";
/////////////////
if(isset($_POST['username'])){
$username = $_POST['username'];
}
if(isset($_POST['name'])){
$name = $_POST['name'];
}
if(isset($_POST['movil'])){
$movil = $_POST['movil'];
}
if(isset($_POST['email'])){
$email = $_POST['email'];
}
if(isset($_POST['password'])){
$password = $_POST['password'];
 } 
if(isset($_POST['fnac'])){
$fnac = $_POST['fnac'];
}
if(isset($_POST['calle_numero_piso'])){
$calle_numero_piso = $_POST['calle_numero_piso'];
}
if(isset($_POST['nom_urba'])){
$nom_urba = $_POST['nom_urba'];
}
if(isset($_POST['cod_postal'])){
$cod_postal = $_POST['cod_postal'];
}
if(isset($_POST['localidad'])){
$localidad = $_POST['localidad'];
}
if(isset($_POST['observaciones'])){
$observaciones = $_POST['observaciones'];
}
// Instance of a User class
$userObject = new User();
// update user
$json_registration = $userObject->updateRegisterUser($username, $name, $movil, $email, $password, $fnac, $calle_numero_piso, $nom_urba, $cod_postal, $localidad, observaciones );
  echo json_encode($json_registration);
 }
 ?>

这是我的 update.php

            <?php
        include_once 'db.php';
        class User{
         private $db;
         private $db_table = "users";
         public function __construct(){
        $this->db = new DbConnect();
        }
        mysqli_close($this->db->getDb());
        return false;
        }
        public function updateRegisterUser($username, $name, $movil, $email, $password, $fnac, $calle_numero_piso, $nom_urba, $cod_postal, $localidad, $observaciones ){
        $query = "UPDATE users SET name = '$name', movil = '$movil', email = '$email', password = '$password', fnac = '$fnac', calle_numero_piso = '$calle_numero_piso', nom_urba ='$nom_urba', cod_postal = '$cod_postal', localidad = '$localidad', observaciones = '$observaciones' WHERE username = $username;";
        $updated = mysqli_query($this->db->getDb(), $query);
        if($updated == 1){
        $json['success'] = 1;
        }else{
        $json['success'] = 0;
        }
        mysqli_close($this->db->getDb());
        return $json;
        }
        public function loginUsers($username, $password){
        $json = array();
        $canUserLogin = $this->isLoginExist($username, $password);
        if($canUserLogin){
        $json['success'] = 1;
        }else{
        $json['success'] = 0;
        }
        return $json;
        }
        }
        ?>

我相信我的两个php都有问题,但我不确定在哪里。

【问题讨论】:

  • 您在 php 日志中遇到什么错误?

标签: php android mysql


【解决方案1】:

试试这个,很明显你的用户名是一个字符串,所以它应该放在单引号内

$query = "UPDATE users SET name = '$name', movil = '$movil', email = '$email', password = '$password', fnac = '$fnac', calle_numero_piso = '$calle_numero_piso', nom_urba ='$nom_urba', cod_postal = '$cod_postal', localidad = '$localidad', observaciones = '$observaciones' WHERE username = '$username'";

最佳实践的一个建议是,始终将一些主键推荐为 int autoincrement,这将有助于强制执行唯一性,因为在这种情况下,您可能有两个同名的用户,这在您的数据库增长时会成为问题。

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    相关资源
    最近更新 更多