0

At the end of this code there is a INSERT INTO statement that doesn't do anything. My connection.php is OK because I have used the same file in other projects and they work.

I am actually inserting a lot more data, but I was trying to find the problem out so I've removed a lot of variable from the INSERT statement.

<?php
include("connection.php");
include("functions.php");
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
date_default_timezone_set('Asia/Dhaka');

$mobile = (string)$_GET["mobile_number"];
$promo = (string)$_GET["promo_code"];
$type = (string)$_GET["type"];
$type_no = (($type=="imei") ? (string)$_GET["imei"] : (string)$_GET["udid"]);
$ip = (string)$_SERVER['REMOTE_ADDR'];
$signup_date = date("Y-m-d");

$q1 = "SELECT * FROM vbClient WHERE clCustomerID = :mobile";
$chk_mob_switch = $dbh->prepare($q1);
$chk_mob_switch->bindParam(':mobile', $mobile);
$chk_mob_switch->execute();

if ($chk_mob_switch->rowCount() == 0) {

  $q2 = "SELECT * FROM api_db WHERE type_no = :type_no";
  $chk_imei_bknd = $dbh->prepare($q2);
  $chk_imei_bknd->bindParam(':type_no', $type_no);
  $chk_imei_bknd->execute();

  if ($chk_imei_bknd->rowCount() == 0) {

    $validation_code = (string)generateValidationCode(6);
    $request_id = (string)generateRequestID(15);

    $q3 = "INSERT INTO api_db (mobile) VALUES (:mobile)";
    $ins_info_bknd = $dbh->prepare($q3);
    $ins_info_bknd->bindParam(':mobile', $mobile);
    $ins_info_bknd->execute();
  }

To check for errors I am using a function like the following:

function chkSyntax($dbh, $stmt, $query) {
  $stmt = $dbh->prepare($query);
  if (!$stmt) {
      echo "\nPDO::errorInfo():\n";
      print_r($dbh->errorInfo());
  }
}

And then I'm calling it like this:

chkSyntax($dbh, $chk_mob_switch, $q1);

What am I doing wrong?

MiniGunnR
  • 5,590
  • 8
  • 42
  • 66

0 Answers0