Android Question PHP insert records to table

erasmusackon

Member
Licensed User
Longtime User
Am testing the following on my browser .

test1 is working with no problem but text2 doesn't return any result nor feeback and when i check through the table no records are inserted by test2

Need help please.

B4X:
case "test":
        $q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('ekow', '500')");
                     
        $q = mysqli_query($con,"SELECT * FROM userregister where CustomerNo='42'");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
       
        mysqli_close($con);
    break;
   
    case "test2":
        $name = $_GET["name"];
        $number = $_GET["number"];
           
        $name= mysqli_real_escape_string($con, '$name');
        $number = mysqli_real_escape_string($con, '$number');
       
        $q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('".$name."', '".$number."')");
               
        $q = mysqli_query($con,"SELECT * FROM userregister where CustomerNo='".$number."'");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
       
        mysqli_close($con);
    break;
 
Last edited:

Dabzy1978

Member
Licensed User
Take:-

$q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('".$name."', '".$number."')");

and replace it with:-

$q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('$name', '$number')");

Dabz
 
Upvote 0

erasmusackon

Member
Licensed User
Longtime User
Take:-

$q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('".$name."', '".$number."')");

and replace it with:-

$q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('$name', '$number')");

Dabz

I have tried it and it not working. The same script is working from a server online but this is being run from my localhost installed on my pc.
Not sure why it's not working. when inserting without the variables it works but i don't know why on my localhost it's not working
 
Upvote 0

erasmusackon

Member
Licensed User
Longtime User
Everything works apart from test2.

B4X:
<?php

$databasehost = "localhost";
$databasename = "ssisldb";
$databaseusername = "root";
$databasepassword = "";

$con=mysqli_init();


if (!$con)
  {
  die("mysqli_init failed");
  }

if (!mysqli_real_connect($con,$databasehost,$databaseusername,$databasepassword,$databasename))
 {
 die("Connect Error: " . mysqli_connect_error());
 }

mysqli_ssl_set($con,"key.pem","cert.pem","cacert.pem",NULL,NULL); 
mysqli_set_charset($con,"utf8");

$action = $_GET["action"];

switch ($action) 

{
    case "GetComp":
        $q = mysqli_query($con,"SELECT * FROM ucomp_name");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
        mysqli_close($con);
    break;
   
    Case "GetPersons":
       $q = mysqli_query($con,"SELECT * FROM db_transactions");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
        mysqli_close($con);
    break;
   
    case "NewTrans":
        $agentID = $_GET["agentID"];
        $amount = $_GET["amount"];
        $inputer=$_GET["inputer"];
        $memberID = $_GET["memberID"];
        $proID = $_GET["proID"];
        $transDetails = $_GET["transDetails"];
        $transNo=$_GET["transNo"];
       
       
        $q = mysqli_query($con,"INSERT INTO db_transactions (AgentID, Amount,Inputer,MemberID,ProID,TransDetails,TransNo) VALUES ($agentID, 
                          $amount,'$inputer',$memberID,$proID,'$transDetails',$transNo)");
        mysqli_close($con);
       
        $q = mysqli_query($con,"SELECT * FROM db_transactions");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
       
        mysqli_close($con);
     break;
   
     case "test":
        $q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('ekow', '')");
                     
        $q = mysqli_query($con,"SELECT * FROM userregister where CustomerNo=42");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
       
        mysqli_close($con);
    break;
   
    case "test2":
        $name = $_GET["name"];
        $number = $_GET["number"];
       
          $q = mysqli_query($con,"INSERT INTO userregister (CustomerName, CustomerNo) VALUES ('$name', '$number')");
       
        $q = mysqli_query($con,"SELECT * FROM userregister where CustomerNo='42'");
        $rows = array();
        while($r = mysqli_fetch_assoc($q))
        {
            $rows[] = $r;
        }
        print json_encode($rows);
       
        mysqli_close($con);
    break;
   
}
?>
 
Upvote 0

Dabzy1978

Member
Licensed User
^ Yep, I never noticed that... This is how I do it:-
B4X:
$query= mysqli_query($con, "SELECT * FROM blah WHERE something = '$something'") or die(mysqli_error($con));

if (mysqli_errno($con)) {
           header("HTTP/1.1 500 Internal Server Error");
           echo $query.'\n';
           echo mysqli_error($con);
        }
else
{
//Jobs a good'un!!!
}
PHP is horrible... It'll be the simplest thing as well... Makes my eyes go bananas! :D

Dabz
 
Last edited:
Upvote 0

OliverA

Expert
Licensed User
Longtime User
Since test2 fails every single time, is it even being called properly? How about just a
B4X:
case "test2":
   $arr = array('hello' => 'world');
   print json_encode($arr);
   break;
just to see if the code path is ever executed? More radical:
B4X:
case "test2":
   die;
   break;
 
Upvote 0
Top