For what it's worth, the following PHP code won't work:
<? $U = udm_alloc_agent('mysql://localhost/example'); ?>
But this will:
<? $U = udm_alloc_agent('mysql://localhost/example/'); ?>
That trailing slash is all-important.
(PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0)
udm_alloc_agent — Alloue une session mnoGoSearch
$dbaddr
[, string $dbmode
] ) : resourceAlloue une session mnoGoSearch.
dbaddr
dbaddr
- est une description de base de données
formatée comme une URL. Les options (type, hôte, nom de base de données,
port, utilisateur ou mot de passe) servent à se connecter à
la base de données SQL.
Ne passez aucune valeur si vous souhaitez utiliser le support des fichiers
texte intégré. Sinon, utilisez le format :
DBAddr DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/
.
Actuellement, les valeurs de DBType possibles sont :
mysql, pgsql, msql, solid, mssql, oracle, ibase. En fait, si vous avez ajouté
un support natif, cette option est inutile. Mais les utilisateurs ODBC doivent
spécifier une des valeurs supportées.
Si votre type de base de données n'est pas
supporté, utilisez le terme unknown
.
dbmode
dbmode
- Vous pouvez sélectionner le mode de stockage
des mots dans la base de données. Si vous indiquez "single", tous les mots seront
stockés dans la même table. Si vous indiquez multi
, ils seront situés
dans différentes tables, suivant leur taille. Le mode multi
est
généralement plus rapide, mais requiert plus de tables. Si le mode
crc
est sélectionné, mnoGoSearch enregistrera un entier
de 32 bits, calculé avec l'algorithme CRC32, plutôt que des mots. Ce mode
requiert moins d'espace disque, et il est beaucoup plus rapide que les modes
single
et multi
. crc-multi
utilise la même technique de stockage que le mode crc
,
mais il stocke aussi les mots dans différentes tables suivant leur taille.
Format: DBMode single/multi/crc/crc-multi
.
Note:
dbaddr
etdbmode
doivent correspondre à ceux utilisés durant l'indexation.
Retourne un agent mnogosearch en cas de succès, FALSE
en cas d'erreur.
Cette fonction crée une session avec les paramètres de base de données.
Note:
En réalité, udm_alloc_agent() n'ouvre pas de connexion, et donc, ne vérifie ni le nom d'utilisateur, ni le mot de passe. La connexion à une base de données et les vérifications des login / mot de passe sont réalisées à l'appel de la fonction udm_find().
For what it's worth, the following PHP code won't work:
<? $U = udm_alloc_agent('mysql://localhost/example'); ?>
But this will:
<? $U = udm_alloc_agent('mysql://localhost/example/'); ?>
That trailing slash is all-important.
The function appears to ignore the second parameter completely -
and the default mode is "blob", which is not even mentioned in this page.
In order to be able to select the right mode, do the following:
<?php
$this->agent =
udm_alloc_agent("mysql://host/database/?DBMode=multi");
?>