Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP MySQLi подготви изрази и извлича подмножество от колони

Предполагам, че просто не искате да изпишете всички тези променливи за функцията bind_result(). Можете да използвате функция като по-долу вместо функцията bind_result(). Предайте му вашия обект $stmt и ще получите обратно масив от стандартни обекти с полетата, които искате.

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. Някакъв начин да избегнете сортиране на файлове, когато поръчката по е различна от клаузата where?

  2. Преобразувайте избраните стойности на колона в друг ред, като използвате select със същия идентификатор part2

  3. PHP MySQL ЗНП lastInsertID причинява фатална грешка

  4. Терминалът не разпознава командите mysqld и mysql

  5. Съхраняване и извличане на пътя на изображението в база данни mysql php