sql and php,lost values in php

fanfalveto

Active Member
Licensed User
Longtime User
in this php code
B4X:
<?php
//Variables
$databasehost = "xx.xx.es";
$databasename = "xx_xx";
$databaseusername ="xx_xx";
$databasepassword = "xx";
//Conexión mySQL
$con=mysql_connect($databasehost,$databaseusername,$databasepassword);
mysql_select_db($databasename, $con);
//Tipo de consulta. TIPOS --> 1)SELECT 2)INSERT 3)DELETE 4)UPDATE

$tipo=$_GET['tipo'];           
$tnom=$_GET['nombre'];
$tpwd=$_GET['pwd'];
$tadmin=$_GET['esadmin'];

$tnom= mysql_real_escape_string($tnom);
$tpwd = mysql_real_escape_string($tpwd);
$tadmin= mysql_real_escape_string($tadmin);
// Dependiendo de la consulta recogida
echo "tipo: $tipo";                         ------->this runs ok
echo "nombre: $tnom";                    ------->this runs ok
echo "pass: $tpwd";                         ------->this runs ok
echo "esadmin: $tadmin";                ------->this runs ok
switch ($tipo)
{
   case 1: //Seleccion de usuarios
      SeleccionUsuarios();
      break;
   case 2: //Insertar usuarios
      InsertarUsuarios();
      break;
   case 3: //Eliminar usuarios
      EliminarUsuarios();
      break;
   case 4: //Actualizar usuarios
      ActualizarUsuarios();
      break;
      
   return;   
}

//Consulta de seleccionar usuarios
function SeleccionUsuarios()
{
   $consulta="SELECT * FROM usuarios order by nombre";
   $result = mysql_query($consulta);
   while($row=mysql_fetch_array($result))
     {
        $rows[]=$row;   
        echo($row[0].';'.md5($row['1']).';'.$row['2'].';');
     }
   //mysql_close($con);
   return;
}

//Insertar usuario
function InsertarUsuarios()
{
echo "tipo: $tipo";                      ------->this don´t runs ok
echo "nombre: $tnom";                ------->this don´t runs ok
echo "pass: $tpwd";                    ------->this don´t runs ok
echo "esadmin: $tadmin";              ------->this don´t runs ok
$consulta= "INSERT INTO usuarios (nombre,pwd,esadmin) VALUES 
  ('$tnom','$tpwd','$tadmin');";               ------->$tnom,$tpwd and $tadmin are empty
echo"            $consulta";
mysql_query($consulta);
echo mysql_error();
return;
}

//Eliminar usuario
function EliminarUsuarios()
{
echo" nombre : $tnom";                        ------->this don´t runs ok
$consulta="DELETE  FROM usuarios WHERE nombre='$tnom'";      ------->$tnom is empty
echo "consulta : $consulta";
   mysql_query($consulta);
echo mysql_error();
   return;
}

//Actualizar usuario
function ActualizarUsuarios()
{
   return;
}

?>
after switch i lost all of the values.
I work wiht this code to send values
B4X:
Sub Button2_Click
   rellenausuarios1
End Sub
Sub Button3_Click
   Activity.Finish
End Sub
Sub Button4_Click
rellenausuarios
End Sub
Sub rellenausuarios
Dim nom As String=edittext1.Text
Dim pass As String=edittext2.Text
' ExecuteRemoteQuery("INSERT INTO usuarios (nombre,pwd,esadmin) VALUES ('"&EditText1.Text&"','"&EditText2.Text&"','"&esadmin&"')",1)
ExecuteRemoteQuery("http://xxx.xxx.es/xxx/xxx.php?tipo=2&nombre="&nom&"&pwd="&pass&"&esadmin="&esadmin, 1)
 End Sub
 Sub rellenausuarios1
Dim nom As String=edittext1.Text
Dim pass As String=edittext2.Text
' ExecuteRemoteQuery("INSERT INTO usuarios (nombre,pwd,esadmin) VALUES ('"&EditText1.Text&"','"&EditText2.Text&"','"&esadmin&"')",1)
ExecuteRemoteQuery("http://xx.xx.xx/xx/xx.php?tipo=2&nombre="&nom, 1)
 End Sub
Sub ExecuteRemoteQuery(Query As String, TaskId As Int)
Dim req As HttpRequest
    req.InitializePost2(Query, Query.GetBytes("UTF8"))
'   Msgbox(Query,"")
hc.Initialize("hc")
    hc.Execute(req, TaskId)
     ProgressDialogShow("Subiendo datos")
   Log(Query)
End Sub
Sub hc_ResponseSuccess (Response As HttpResponse, TaskId As Int)
'   Log("My response is successful")
'Msgbox("OK","")
' do some other stuff here
ProgressDialogHide
ToastMessageShow("OK",False)
'Activity.Finish   
'StartService(control)
End Sub
i send the values fine but after switch into function InsertarUsuarios() or function EliminarUsuarios() in php code the values disappear.
Any idea please?
Thank you
 

grant1842

Active Member
Licensed User
Longtime User
For starters I would HIGHLY recommend you switch to using the mysqli functions instead of the old mysql functions. The mysqli functions are more secure and the mysql functions are already deprecated and will soon be removed altogether.

Now for the values not being seen, since you're inside a function, the scope is looking inside the function only. You have to pass those variables as parameters to the function.

On a side note, I would also recommend you use the httputils2 class found on this forum to handle your post and get requests.
 
Last edited:
Upvote 0
Top