Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP MySQLi przygotowało instrukcje i pobranie podzbioru kolumn

Zakładam, że po prostu nie chcesz wypisywać wszystkich tych zmiennych dla funkcji bind_result(). Możesz użyć funkcji takiej jak poniżej zamiast funkcji bind_result(). Przekaż mu swój obiekt $stmt, a otrzymasz tablicę standardowych obiektów z żądanymi polami.

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. Wstaw do 2 tabel z PDO MySQL

  2. Wiele złączeń w tabeli MySQL

  3. Naprawianie luk w identyfikatorze wiersza tabeli mysql po usunięciu niektórych z nich

  4. Python pymySQL wysyłający ciąg znaków z cudzysłowami

  5. Aby użyć domyślnego programu BatchConfigurer, kontekst musi zawierać nie więcej niż jedno źródło danych, znalezione 2