Метаподатоци
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Метаподатоци
Референца за `mysqli.quickstart.metadata.php` со подобрена типографија и навигација.
Метаподатоци
MySQL сет на резултати содржи метаподатоци. Метаподатоците ги опишуваат колоните пронајдени во сетот на резултати. Сите метаподатоци испратени од MySQL се достапни преку mysqli интерфејсот. Екстензијата не прави никакви или незначителни промени на информациите што ги прима. Разликите помеѓу верзиите на MySQL серверот не се усогласени.
Метаподатоците се пристапуваат преку mysqli_result interface.
Пример #1 Пристапување до метаподатоци од сет на резултати
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($result->fetch_fields());Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
array(2) {
[0]=>
object(stdClass)#3 (13) {
["name"]=>
string(4) "_one"
["orgname"]=>
string(0) ""
["table"]=>
string(0) ""
["orgtable"]=>
string(0) ""
["def"]=>
string(0) ""
["db"]=>
string(0) ""
["catalog"]=>
string(3) "def"
["max_length"]=>
int(1)
["length"]=>
int(1)
["charsetnr"]=>
int(63)
["flags"]=>
int(32897)
["type"]=>
int(8)
["decimals"]=>
int(0)
}
[1]=>
object(stdClass)#4 (13) {
["name"]=>
string(4) "_two"
["orgname"]=>
string(0) ""
["table"]=>
string(0) ""
["orgtable"]=>
string(0) ""
["def"]=>
string(0) ""
["db"]=>
string(0) ""
["catalog"]=>
string(3) "def"
["max_length"]=>
int(5)
["length"]=>
int(5)
["charsetnr"]=>
int(8)
["flags"]=>
int(1)
["type"]=>
int(253)
["decimals"]=>
int(31)
}
}
Подготвени изјави
Метаподатоците на сетовите на резултати создадени со подготвени изјави се пристапуваат на ист начин. Погоден mysqli_result рачка се враќа од mysqli_stmt::result_metadata().
Пример #2 Метаподатоци од подготвени изјави
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");
$stmt = $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$stmt->execute();
$result = $stmt->result_metadata();
var_dump($result->fetch_fields());Види исто така