Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP MySQLi menyiapkan pernyataan dan mengambil subset kolom

Saya berasumsi bahwa Anda tidak ingin menulis semua variabel itu untuk fungsi bind_result() . Anda bisa menggunakan fungsi seperti di bawah ini alih-alih fungsi bind_result() . Berikan objek $stmt Anda dan Anda akan mendapatkan kembali array objek standar dengan bidang yang Anda inginkan.

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. Apa yang Setara dengan LEN() di MySQL?

  2. Mengapa _ (garis bawah) cocok - (tanda hubung)?

  3. Kembalikan Stempel Waktu Dengan Pernyataan yang Disiapkan

  4. Integrasi WordPress MediaWiki

  5. Mengapa menempatkan kredensial MySQL di luar direktori www?