PHP.mk документација

PDOStatement::fetchAll

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

pdostatement.fetchall.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека pdostatement.fetchall.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
PDOStatement::fetchAll

Референца за `pdostatement.fetchall.php` со подобрена типографија и навигација.

pdostatement.fetchall.php

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::fetchAll (PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

= NULL

public PDOStatement::fetchAll(int $mode Претставува подготвена изјава и, по извршувањето на изјавата, поврзан сет на резултати.): array
public PDOStatement::fetchAll(int $mode = PDO::FETCH_DEFAULT, int $column): array
public PDOStatement::fetchAll(int $mode = PDO::FETCH_COLUMN, string $class, ?array $constructorArgs): array
public PDOStatement::fetchAll(int $mode = PDO::FETCH_CLASS, callable $callback): array

Параметри

mode

Презема ги преостанатите редови од множеството резултати Ги контролира содржините на вратениот низ како што е документирано воPDOStatement::fetch() PDO::ATTR_DEFAULT_FETCH_MODE константите, со стандардна вредност PDO::FETCH_BOTH)

. Стандардно е вредноста на PDO::FETCH_COLUMNЗа да вратите низ што се состои од сите вредности на една колона од множеството резултати, наведете column parameter.

. Можете да наведете која колона ја сакате со PDO::FETCH_UNIQUE. За да го индексирате резултирачкиот низ според вредноста на одредена колона (наместо последователни броеви), ставете ја оваа колона прва во списокот на колони во SQL и користете

. Оваа колона мора да содржи само уникатни вредности или некои податоци ќе бидат изгубени. PDO::FETCH_GROUP.

За да ги групирате резултатите во форма на 3-димензионален низ индексиран по вредностите на одредена колона, ставете ја оваа колона прва во списокот на колони во SQL и користете PDO::FETCH_GROUP with PDO::FETCH_COLUMNЗа да ги групирате резултатите во форма на 2-димензионален низ користете бинарно-ИЛИ

. Резултатите ќе бидат групирани според првата колона, при што вредноста на елементот на низот ќе биде список од низови на соодветните записи од втората колона.
column

Се користи со PDO::FETCH_COLUMNСледниве се динамички параметри кои зависат од режимот на преземање. Тие не можат да се користат со именувани параметри.

class

Се користи со PDO::FETCH_CLASS. Враќа назначена колона со 0-индекс.

constructorArgs

. Враќа инстанци на назначената класа, соодветствувајќи ги колоните на секој ред со именувани својства во класата. mode параметарот е PDO::FETCH_CLASS.

callback

Се користи со PDO::FETCH_FUNCАргументи на конструктор на прилагодена класа кога

Вратени вредности

. Враќа резултати од повикување на назначената функција, користејќи ги колоните на секој ред како параметри во повикот. PDOStatement::fetchAll()

враќа низ што ги содржи сите преостанати редови во множеството резултати. Низот претставува секој ред како низа од вредности на колони или објект со својства што одговараат на секое име на колона. Празен низ се враќа ако нема резултати за преземање.

Errors/Exceptions

Емитува грешка со ниво E_WARNING ако атрибутот PDO::ATTR_ERRMODE е поставен на PDO::ERRMODE_WARNING.

Фрла PDOException ако атрибутот PDO::ATTR_ERRMODE е поставен на PDO::ERRMODE_EXCEPTION.

Дневник на промени

Верзија = NULL
8.0.0 Овој метод секогаш враќа array сега, додека претходно false можеби беше вратено при неуспех.

Примери

Пример #1 Преземи ги сите преостанати редови во сет на резултати

<?php
$sth
= $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print "Fetch all of the remaining rows in the result set:\n";
$result = $sth->fetchAll();
print_r($result);
?>

Горниот пример ќе прикаже нешто слично на:

Fetch all of the remaining rows in the result set:
Array
(
    [0] => Array
        (
            [name] => apple
            [0] => apple
            [colour] => red
            [1] => red
        )

    [1] => Array
        (
            [name] => pear
            [0] => pear
            [colour] => green
            [1] => green
        )

    [2] => Array
        (
            [name] => watermelon
            [0] => watermelon
            [colour] => pink
            [1] => pink
        )

)

Пример #2 Преземање на сите вредности од една колона од сет на резултати

Следниот пример покажува како да се вратат сите вредности од една колона од сет на резултати, иако самата SQL изјава може да врати повеќе колони по ред.

<?php
$sth
= $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the values of the first column */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

Горниот пример ќе прикаже нешто слично на:

Array(3)
(
    [0] =>
    string(5) => apple
    [1] =>
    string(4) => pear
    [2] =>
    string(10) => watermelon
)

Пример #3 Групирање на сите вредности по една колона

Следниот пример покажува како да се врати асоцијативен низ групиран по вредностите на одредена колона во сетот на резултати. Низот содржи три клуча: вредности apple and pear се враќаат како низови што содржат две различни бои, додека watermelon се враќа како низ што содржи само една боја.

<?php
$insert
= $dbh->prepare("INSERT INTO fruit(name, colour) VALUES (?, ?)");
$insert->execute(array('apple', 'green'));
$insert->execute(array('pear', 'yellow'));

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

Горниот пример ќе прикаже нешто слично на:

array(3) {
  ["apple"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(3) "red"
  }
  ["pear"]=>
  array(2) {
    [0]=>
    string(5) "green"
    [1]=>
    string(6) "yellow"
  }
  ["watermelon"]=>
  array(1) {
    [0]=>
    string(5) "pink"
  }
}

Пример #4 Инстанцирање на класа за секој резултат

Следниот пример покажува однесување на PDO::FETCH_CLASS стил на преземање.

<?php
class fruit {
public
$name;
public
$colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

Горниот пример ќе прикаже нешто слично на:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
  [3]=>
  object(fruit)#4 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(3) "red"
  }
  [4]=>
  object(fruit)#5 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(5) "green"
  }
}

Пример #5 Повикување на функција за секој резултат

Следниот пример покажува однесување на PDO::FETCH_FUNC стил на преземање.

<?php
function fruit($name, $colour) {
return
"{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

Горниот пример ќе прикаже нешто слично на:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
  [3]=>
  string(10) "apple: red"
  [4]=>
  string(11) "pear: green"
}

Види Исто така

Белешки од корисници 20 белешки

simplerezo at gmail dot com
пред 9 години
I still don't understand why FETCH_KEY_PAIR is not documented here (http://php.net/manual/fr/pdo.constants.php), because it could be very useful!

<?php
  var_dump($pdo->query('select id, name from table')->fetchAll(PDO::FETCH_KEY_PAIR));
?>

This will display:
array(2) {
  [2]=>
  string(10) "name2"
  [5]=>
  string(10) "name5"
}
dyukemedia at gmail dot com
пред 11 години
Getting foreach to play nicely with some data from PDO FetchAll()
I was not understanding to use the $value part of the foreach properly, I hope this helps someone else.
Example:
<?php 
$stmt = $this->db->prepare('SELECT title, FMarticle_id FROM articles WHERE domain_name =:domain_name');
            $stmt->bindValue(':domain_name', $domain);
            $stmt->execute();
            $article_list = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
which gives:

array (size=2)
  0 => 
    array (size=2)
      'title' => string 'About Cats Really Long title for the article' (length=44)
      'FMarticle_id' => string '7CAEBB15-6784-3A41-909A-1B6D12667499' (length=36)
  1 => 
    array (size=2)
      'title' => string 'another cat story' (length=17)
      'FMarticle_id' => string '0BB86A06-2A79-3145-8A02-ECF6EA5C405C' (length=36)

Then use:
<?php
foreach ($article_list as $row => $link) {
  echo  '<a href="'.  $link['FMarticle_id'].'">' . $link['title']. '</a></br>';
  }
?>
esw at pixeloution dot removeme dot com
пред 15 години
Interestingly enough, when you use fetchAll, the constructor for your object is called AFTER the properties are assigned. For example:

<?php
class person {
    public $name;

    function __construct() {
       $this->name = $this->name . " is my name.";
    }
}

# set up select from a database here with PDO
$obj = $STH->fetchALL(PDO::FETCH_CLASS, 'person');
?>

Will result in ' is my name' being appended to all the name columns. However if you call it slightly differently:

<?php
$obj = $obj = $STH->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'person');
?>

Then the constructor will be called before properties are assigned. I can't find this documented anywhere, so I thought it would be nice to add a note here.
Daniel Hofmann
пред 16 години
PLEASE BE AWARE: If you do an OUTER LEFT JOIN and set PDO FetchALL to PDO::FETCH_ASSOC, any primary key you used in the OUTER LEFT JOIN will be set to a blank if there are no records returned in the JOIN.

For example:
<?php
//query the product table and join to the image table and return any images, if we have any, for each product
$sql = "SELECT * FROM product, image
LEFT OUTER JOIN image ON (product.product_id = image.product_id)";

$array = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($array);
?>

The resulting array will look something like this:

Array
(
    [0] => Array
        (
            [product_id] => 
            [notes] => "this product..."
            [brand] => "Best Yet"
            ...

The fix is to simply specify your field names in the SELECT clause instead of using the * as a wild card, or, you can also specify the field in addition to the *. The following example returns the product_id field correctly:

<?php
$sql = "SELECT *, product.product_id FROM product, image
LEFT OUTER JOIN image ON (product.product_id = image.product_id)";

$array = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($array);
?>

The resulting array will look something like this:

Array
(
    [0] => Array
        (
            [product_id] => 3
            [notes] => "this product..."
            [brand] => "Best Yet"
            ...
Анонимен
пред 14 години
Note that fetchAll() can be extremely memory inefficient for large data sets. My memory limit was set to 160 MB this is what happened when I tried:

<?php
$arr = $stmt->fetchAll();
// Fatal error: Allowed memory size of 16777216 bytes exhausted
?>

If you are going to loop through the output array of fetchAll(), instead use fetch() to minimize memory usage as follows:

<?php
while ($arr = $stmt->fetch()) {
    echo round(memory_get_usage() / (1024*1024),3) .' MB<br />';
    // do_other_stuff();
}
// Last line for the same query shows only 28.973 MB usage
?>
[email protected]
12 години пред
If you want to use PDO::FETCH_CLASS but don't like that all the values are of the type string, you can always use the __construct function of the class specified to convert them to a different type.

Another way is using mysqlnd, but it seems I had to recompile PHP for that.

<?php

class Cdr {
    public $a; // int
    public $b; // float
    public $c; // string
    
    public function __construct() {
        $this->a = intval($this->a);
        $this->b = floatval($this->b);
    }
     
}

// ...
$arrCdrs = $objSqlStatement->fetchAll(PDO::FETCH_CLASS, 'Cdr');

?>
[email protected]
пред 10 години
Something missing in the doc.
If for instance you try to fetchAll(PDO::CLASS, "Class") it sometimes return an array of objects with NULL values, but the count of objects fetched correspond to table rows.

In this way works fine:
fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Class");

For example

$stm = $pdo->prepare("SELECT * FROM Fruit");
$stm->execute();
$stm->fetchAll(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, "Fruit");
Анонимен
пред 18 години
If no rows have been returned, fetchAll returns an empty array.
shaunc
3 години пред
Note that \PDO::FETCH_DEFAULT was not introduced until PHP 8.0.7 and 8.1.0. It will throw an undefined constant error in earlier versions.
Анонимен
пред 9 години
Be careful when using PDO::FETCH_COLUMN with PDO::FETCH_GROUP. By default, results are grouped by first column (index 0) and second column (index 1) is returned. But, if you provide fetch argument, it wouldn't affect returned column, but grouping column. If grouping column is set explicitly , first columns is returned instead of second.

<?php
$insert = $dbh->prepare("INSERT INTO people(id, gender) VALUES (?, ?)");
$insert->execute(array('2', 'female'));
$insert->execute(array('3', 'female'));
$insert->execute(array('4', 'female'));
$insert->execute(array('5', 'male'));
$insert->execute(array('6', 'male'));

$sth = $dbh->prepare("SELECT gender, id FROM people");
$sth->execute();

/* Group values by the first column */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>
Returns:
<?php
array (size=2)
  'female' => 
    array (size=3)
      0 => string '2' (length=1)
      1 => string '3' (length=1)
      2 => string '4' (length=1)
  'male' => 
    array (size=2)
      0 => string '5' (length=1)
      1 => string '6' (length=1)
?>

But, 
<?php
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP, 0));
?>
returns:
<?php 
array (size=2)
  'female' => 
    array (size=3)
      0 => string 'female' (length=1)
      1 => string 'female' (length=1)
      2 => string 'female' (length=1)
  'male' => 
    array (size=2)
      0 => string 'male' (length=1)
      1 => string 'male' (length=1)
?>
and 
<?php 
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP, 1));
?>
returns
<?php
array (size=5)
  2 => 
    array (size=1)
      0 => string 'female' (length=1)
  3 => 
    array (size=1)
      0 => string 'female' (length=1)
  4 => 
    array (size=1)
      0 => string 'female' (length=1)
  5 => 
    array (size=1)
      0 => string 'male' (length=1)
  6 => 
    array (size=1)
      0 => string 'male' (length=1)
?>

First column is retuned and grouping is done by provided column index.
rudigerw на hotmail точка com
пред 7 години
I was blown away that you can actually combine PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE | PDO::FETCH_UNIQUE, because both PDO::FETCH_CLASSTYPE and PDO::FETCH_UNIQUE say they will use the first column, but it turns out PDO::FETCH_CLASSTYPE goes first and then PDO::FETCH_UNIQUE will use the next column. This way you can create an associative array of objects, with one of the table columns as key. For example a query such as

 'SELECT Class, Id, t.* FROM subscriptions_tbl t'

might give you this result:

Array
(
    [20481086] => WConsumerSubscription Object
        (
            [Variant] => 2
            [_Expiration:WSubscriptionModel:private] => DateTime Object
                (
                    [date] => 2018-08-08 00:00:00.000000
                    [timezone_type] => 3
                    [timezone] => UTC
                )

            [Notes] => 
            [Id] => 20481086
            [_Deleted:protected] => 0
            [_VersionNo:protected] => 2
            [ContactId] => 
            [ConsumerId] => 2
        )

    [21878324] => WAdminSubscription Object
        (
            [Variant] => 
            [_Expiration:WSubscriptionModel:private] => 
            [Notes] => 
            [Id] => 21878324
            [_Deleted:protected] => 0
            [_VersionNo:protected] => 1
            [ContactId] => 
        )
)
Хејли Вотсон
пред 14 години
If you use the PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE flags to map columns to object properties, fetchAll() will use any __set() method your object has when carrying out the mapping.
mxrgus
пред 16 години
In method body:

return $pstmt->fetchAll() or die("bad");

will not return correct value, but "1" instead.
[email protected]
19 години пред
Note, that you can use PDO::FETCH_COLUMN|PDO::FETCH_GROUP pair only while selecting two columns, not like DB_common::getAssoc(), when grouping is set to true.
[email protected]
пред 17 години
There is also another fetch mode supported on Oracle and MSSQL: 
PDO::FETCH_ASSOC

> fetches only column names and omits the numeric index.

If you would like to return all columns from an sql statement with column keys as table headers, it's as simple as this:

<?php
$dbh = new PDO("DS", "USERNAME", "PASSWORD");
$stmt = $dbh->prepare("SELECT * FROM tablename");
$stmt->execute();
$arrValues = $stmt->fetchAll(PDO::FETCH_ASSOC);
// open the table
print "<table wdith=\"100%\">\n";
print "<tr>\n";
// add the table headers
foreach ($arrValues[0] as $key => $useless){
    print "<th>$key</th>";
}
print "</tr>";
// display data
foreach ($arrValues as $row){
    print "<tr>";
    foreach ($row as $key => $val){
        print "<td>$val</td>";
    }
    print "</tr>\n";
}
// close the table
print "</table>\n";
?>
[email protected]
пред 11 години
There may be some user who needs to upgrade their MySQL class to PDO class. The way of fetching results were changed from while loop into a foreach loop. For the people who wish to fetch the results in a while loop, here is a simple trick.

<?php

$db = new DB();
$query = $db->prepare("SELECT * FROM CPUCategory");
$query = $db->execute();
$result = $db->fetchAll();
var_dump($result);

?>

The Output will be:
array(2) {
    [0]=> array(2) {
        ["ccatid"]=> int(1)
        ["ccatname"]=> string(5) "Intel"
    }
    [1]=> array(2) {
        ["ccatid"]=> int(2) 
        ["ccatname"]=> string(3) "AMD"
    }
}

Never look like the output of old function.
[ORIGINAL STYLE] mysql_fetch_array($query)
[   MYSQL CLASS] $db->fetch_array($query)

And you may give up.
But there is a simple way to use while loop to fetch the results.

<?php

$db = new DB();
$query = $db->prepare("SELECT * FROM CPUCategory");
$query = $db->execute();
$result = $db->fetchAll();
$row = array_shift($result);
// If you need to fetch them now, put it in a while loop just like below:
// while($row = array_shift($result)) { ... }
    
var_dump($row);

?>

The Output will be in a single array with while loop returns TRUE:
array(2) {
    ["ccatid"]=> int(1)
    ["ccatname"]=> string(5) "Intel"
}

So after fetching this row, while loop runs again and fetch the next row until all row has fetched, then the while loop will return false. (Just like the old function did)

When you need to upgrade to PDO class, not much code needs to be modified and remember.
Денис
пред 15 години
Error:
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.

If you're using something like:

while ($row = $query->fetchObject()) {
    [...]
}

try using this instead:

$rows = $query->fetchAll(PDO::FETCH_CLASS, 'ArrayObject');

foreach ($rows as $row) {
    [...]
}
Анонимен
пред 1 година
It's important to note that PDO::FETCH_CLASS does not behave the way you would intuitively expect. Intuitively, you might expect that it either does not call the constructor at all and sets the properties "magically", or that it simply calls the constructor with the data from the database. Both assumptions are incorrect. It *does* call the constructor, but *not* with data from the database; it uses "magic" to set the properties. This can result in problems.

For example, one might intuitively expect code like this to work, perhaps as a starting point for doing Domain-Driven Design without a full-fat ORM. (It doesn't.)

<?php
final class Example{
    private static ?PDO $pdo;

    private function __construct(
        public readonly int $id,
        public readonly string $val1,
        public readonly ?string $val2,
    ){}

    public static function init(PDO $pdo){
        static::$pdo = $pdo;
        static::$pdo->exec("
            CREATE TABLE IF NOT EXISTS example (
                id INT AUTO_INCREMENT PRIMARY KEY,
                val1 TEXT NULL,
                val2 TEXT NOT NULL
            )
        ");
    }

    public static function create(string $val1, ?string $val2=null){
        if (!isset(static::$pdo)) throw new RuntimeException('Not yet initialized');
        $query = static::$pdo->prepare("
            INSERT INTO example
            (val1, val2)
            VALUES
            (?, ?)
        ");
        $query->execute([$val1, $val2]);
        return static::fetch(static::$pdo->lastInsertId());
    }

    public static function fetch($id){
        if (!isset(static::$pdo)) throw new RuntimeException('Not yet initialized');
        $query = static::$pdo->prepare("SELECT * FROM example WHERE id = ?");
        $query->execute([$id]);
        $result = $query->fetchAll(PDO::FETCH_CLASS, 'Example');
        if (!empty($result)) return $result[0];
    }
}
?>

For a pattern like this to work, you'll instead need to do one of the following:

1. Use PDO::FETCH_FUNC instead of PDO::FETCH_CLASS, and pass it an anonymous function that calls the constructor.
2. Have a constructor that does nothing, and use the create() method to set properties directly. This would require removing the readonly modifier (though you could use PHP's new asymmetric visibility instead to achieve a similar effect). This also means that you can no longer actually use the constructor to fully construct an object (which, depending on your needs, may or may not be an acceptable compromise). You'll need a private constructor to avoid having partially-constructed objects floating around.
3. Use PDO::FETCH_ASSOC instead of PDO::FETCH_CLASS, then use ReflectionClass::newInstanceWithoutConstructor(), ReflectionObject::getProperty(), and ReflectionProperty::setValue() to implement "magical" class construction yourself.
4. Give up and use Doctrine or some other ORM.

There is, unfortunately, no solution that doesn't either have some compromise, require writing boilerplate code, or require adding a dependency to your project.
[email protected]
пред 4 години
I am adding this here as I don’t seem to find any clear and easy to find examples and explanations of PDO::FETCH_GROUP and how it works by means of an example.

I find this to be one of the most useful modes available in fetchAll() when you need to work with any form of grouping.

In essence, PDO can group results into nested arrays, based on the first field selected.

Example

<?php

$data = $pdo->query('SELECT sex, name, car FROM users')->fetchAll(PDO::FETCH_GROUP);

/* array (
  'male' => array ( 0 => 
    array (
      'name' => 'John',
      'car' => 'Toyota',
    ),
    1 => array (
      'name' => 'Mike',
      'car' => 'Ford',
    ),
  ),
  'female' => array (
    0 => array (
      'name' => 'Mary',
      'car' => 'Mazda',
    ),
    1 => array (
      'name' => 'Kathy',
      'car' => 'Mazda',
    ),
  ),
) */

?>

Tip: If you need to group the data by something other than the first field then you can do it like this as well

<?php
SELECT sex, users.* FROM users
?>
Leonardo Costa [email protected]
пред 6 години
Method with Return object (PHP 7.2)

class MySql {

public function __construct()
        {
            parent::__construct();
            
            try{

    
                
                $options = array
                (
                    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"
                );
                
                $this->pdo = new PDO('mysql:host=127.0.0.1;dbname=testuser','dbtest', 'xxxxxxx',$options);
                $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                
            }catch(PDOException $e) {
                print "Error!: " . $e->getMessage() . "<br/>";
                die();
            }
        }
        
        public function selectAll(string $sql)
        {
            $conn = $this->pdo->query($sql);
            return $conn->fetchAll(PDO::FETCH_OBJ);
        }
}
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.