&reftitle.examples;
Le point d'entrée central de l'API X est la fonction mysql_xdevapi\getSession,
qui reçoit une URI vers un serveur MySQL 8.0 et renvoie un objet
mysql_xdevapi\Session.
Connexion à un serveur MySQL
getMessage());
}
// ... use $session
?>
]]>
La session fournit un accès complet à l'API. Pour une nouvelle installation de serveur MySQL,
la première étape consiste à créer un schéma de base de données avec une collection
pour stocker des données :
Création d'un schéma et d'une collection sur le serveur MySQL
createSchema("test");
$collection = $schema->createCollection("example");
?>
]]>
Lorsqu'on stocke des données, généralement json_encode est utilisé pour encoder
les données en JSON, qui peuvent ensuite être stockées dans une collection.
Les exemples suivants stockent des données dans la collection que nous avons créée précédemment,
puis récupèrent à nouveau des parties de ces données.
Stocker et Récupérer des Données
"Marco",
"age" => 19,
"job" => "Programmer"
];
$mike = [
"name" => "Mike",
"age" => 39,
"job" => "Manager"
];
$schema = $session->getSchema("test");
$collection = $schema->getCollection("example");
$collection->add($marco, $mike)->execute();
var_dump($collection->find("name = 'Mike'")->execute()->fetchOne());
?>
]]>
&example.outputs.similar;
string(28) "00005ad66aaf0000000000000003"
["age"]=>
int(39)
["job"]=>
string(7) "Manager"
["name"]=>
string(4) "Mike"
}
]]>
Cet exemple démontre que le serveur MySQL ajoute un champ supplémentaire nommé
_id, qui sert de clé primaire au document.
Cet exemple démontre également que les données récupérées sont triées par ordre alphabétique.
Cet ordre spécifique provient du stockage binaire efficace à l'intérieur du serveur MySQL, mais
il ne faut pas s'y fier. Se référer à la documentation du type de données JSON de MySQL pour plus de détails.
Optionnellement, utiliser les itérateurs de PHP pour récupérer plusieurs documents :
Récupérer et Itérer sur Plusieurs Documents
find()->execute();
foreach ($result as $doc) {
echo "{$doc["name"]} is a {$doc["job"]}.\n";
}
?>
]]>
&example.outputs.similar;