【问题标题】:How to send variable type integer from Flutter to mysql using php too?如何也使用 php 将变量类型整数从 Flutter 发送到 mysql?
【发布时间】:2022-10-05 00:50:04
【问题描述】:

我正在尝试将整数数据从颤振发送到 mysql,但它没有在数据库中注册。我认为问题在于该变量是整数类型,因为如果我将其设为字符串类型,它会将其注册到数据库中。

int 解析对我不起作用。

edad 是整数数据。

什么是最好的解决方案。 我非常感谢您的帮助 代码颤动/Dart:::

Future PrividerPruebaRegistroCliente(String Contrasena,String correo,String apodo,String apellido, int edad ) async {
    try{
    
      var Url= Uri.parse("http://192.168.0.105/PruebaRati/Prueba Php/Modelo_Php/RatiDemo/ProviderPrueba.php");
      var response = await http.post(Url,

        body:{
          'contrasena' :Contrasena,
          'correo' :correo,
          'apodo' :apodo,
          'apellido' :apellido,
          'edad' :edad
        },
      ).timeout(const Duration(seconds: 90)) ;
   
    }on TimeoutException catch(e){
      print("Tardo mucho la conexion");
    }on Error catch(e){
      print("Error de Http");
    }
  }

------


<?php

require("database connection");

if($conex){

    echo("conexion correcta");
   }else{
  
   
    echo("conexion incorrecta");
   }

   $contrasena = mysqli_real_escape_string($conex,$_POST['contrasena']);
   $correo = mysqli_real_escape_string($conex,$_POST['correo']);
   $apodo = mysqli_real_escape_string($conex,$_POST['apodo']);
   $apellido = mysqli_real_escape_string($conex,$_POST['apellido']);
   $edad = mysqli_real_escape_string($conex,$_POST['edad']);


        $consulta ="INSERT  into nametable(contrasenia,correo,apodo,apellido,edad)Values ('$contrasena','$correo','$apodo','$apellido','$edad')";
        $resultado = mysqli_query($conex,$consulta); 

     if($resultado){  
     
       echo(" correct  query");
      }else{
     
       echo("error  query");
      }
    
    ?>

【问题讨论】:

  • 在 INSERT 语句值中有'$edad',这意味着字符串值。删除引号,只需使用$edad。在 PHP 中处理用户输入时始终使用准备好的语句,mysqli_real_escape_string 不足以防止 SQL 注入。
  • 在提交帖子正文时也值得考虑使用jsonEncode,例如:body: jsonEncode({'contrasena': ....})
  • 我做到了,但它仍然不起作用

标签: flutter dart


【解决方案1】:

这对我有用。我转换或转换变量 $edad,像这样 :: : $edad = mysqli_real_escape_string($conex,$_POST['edad']); $edadcast = (int)$edad;并在插入后将其放入。

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 2015-11-16
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多