Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP MySQLi đã chuẩn bị các câu lệnh và tìm nạp tập hợp con của các cột

Tôi giả sử rằng bạn không muốn viết ra tất cả các biến đó cho hàm bind_result (). Bạn có thể sử dụng một hàm như bên dưới thay vì hàm bind_result (). Chuyển nó vào đối tượng $ stmt của bạn và bạn sẽ nhận lại một mảng các đối tượng tiêu chuẩn với các trường bạn muốn.

function getResult($stmt)
{
    $valid_fields = array('title', 'date_created'); // enter field names you care about

    if (is_a($stmt, 'MySQLi_STMT')) {
        $result = array();

        $metadata = $stmt->result_metadata();
        $fields = $metadata->fetch_fields();

        for (; ;)
        {
            $pointers = array();
            $row = new \stdClass();

            $pointers[] = $stmt;
            foreach ($fields as $field)
            {
                if (in_array($field->name, $valid_fields)) {
                    $fieldname = $field->name;
                    $pointers[] = &$row->$fieldname;
                }
            }

            call_user_func_array('mysqli_stmt_bind_result', $pointers);

            if (!$stmt->fetch())
                break;

            $result[] = $row;
        }

        $metadata->free();

        return $result;
    }
    return array();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao MySQL không hỗ trợ độ chính xác mili giây / micro giây?

  2. Làm cách nào để tạo liên kết tải ID php ngẫu nhiên trên trang?

  3. nối các bảng và hiển thị kết quả [Laravel 5]

  4. Làm cách nào để nối hai bảng trên nhiều cột trong CakePHP 3?

  5. ClassCastException:java.math.BigInteger không thể được truyền sang java.lang.Long khi kết nối với MySQL