Ejemplo n.º 1
0
}
if ('mysqli_warning' !== get_class($warning)) {
    printf("[011] Expecting object of type mysqli_warning got type '%s'", get_class($warning));
}
if (!method_exists($warning, 'next')) {
    printf("[012] Object mysqli_warning seems to lack method next()\n");
}
$i = 0;
do {
    if ('' == $warning->message) {
        printf("[013 - %d] Message should not be empty\n", $i);
    }
    if ('' == $warning->sqlstate) {
        printf("[014 - %d] SQL State should not be empty\n", $i);
    }
    if (0 == $warning->errno) {
        printf("[015 - %d] Error number should not be zero\n", $i);
    }
    $i++;
} while ($warning->next());
if (2 != $i) {
    printf("[016] Expected 2 warnings, got %d warnings\n", $i);
}
mysqli_stmt_close($stmt);
if (NULL !== ($tmp = mysqli_stmt_get_warnings($stmt))) {
    printf("[015] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
}
mysqli_close($link);
print "done!";
$test_table_name = 'test_mysqli_stmt_get_warnings_table_1';
require_once "clean_table.inc";
Ejemplo n.º 2
0
 /**
  * 通常用这个执行多条的插入和更新
  * Enter description here ...
  * @param string $sql
  * @param i-int,d-double,s-string,b-blob $params_type
  * @param array $array_bind_param
  */
 public function prepareExec($sql, $params_types, $array_bind_param)
 {
     if ($stmt = mysqli_prepare($this->link, $sql) or $this->error(mysqli_error($this->link))) {
         $length = strlen($params_types);
         //有几个绑定类型,肯定就有几个绑定变量
         foreach ($array_bind_param as &$value) {
             $exec = '$stmt->bind_param(\'' . $params_types . '\'';
             for ($i = 0; $i < $length; $i++) {
                 $exec .= ' , $value[' . $i . '] ';
             }
             $exec .= ");";
             echo '</br>', $exec, '</br>';
             eval($exec);
             $stmt->execute();
             $exex = null;
         }
         $stmt->close();
     } else {
         var_dump(mysqli_stmt_get_warnings($stmt));
         debug_print_backtrace();
     }
 }