PHP PDO Insert Into语句不起作用,没有错误

时间:2015-09-17 06:58:04

标签: php mysql pdo insert

在此代码的末尾有一个INSERT INTO语句,它不执行任何操作。我的connection.php没问题,因为我在其他项目中使用了相同的文件并且它们有效。

我实际上是在插入更多数据,但我试图找出问题,所以我从INSERT语句中删除了很多变量。

<?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();
  }

要检查错误,我正在使用如下函数:

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

然后我这样称呼它:

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

我做错了什么?

0 个答案:

没有答案