Description
string
sesam_query
( string query [, bool scrollable])
sesam_query(
)
retourne
un
identifiant
de
résultat
SESAM
en
cas
de
succès
,
ou
FALSE
en
cas
d
'erreur
.
L'
identifiant
de
résultat
est
utilisé
par
d
'autres
fonctions
sesam
pour
lire
les
valeurs
.
sesam_query(
)
envoie
une
requête
à
la
base
active
.
Elle
peut
exécuter
aussi
bien
une
requête
immédiate
(
DELETE
,
UPDATE
ou
INSERT
)
,
ou
une
requête
de
selection
.
Si
une
requête
immédiate
est
exécutée
,
aucun
curseur
n'
est
alloué
,
et
il
ne
sera
pas
possible
d'utiliser
les
fonctions
sesam_fetch_row(
)
ou
sesam_fetch_result(
)
.
Pour
les
requêtes
de
selection
,
un
descripteur
de
résultat
et
un
curseur
(
scrollable
ou
séquentiel
,
suivant
le
paramètre
optionnel
scrollable
passé
)
sear
alloué
.
Si
scrollable
est
omis
,
le
curseur
sera
séquentiel
.
Lorsque
vous
utilisez
les
curseurs
à
défilement
,
le
curseur
peut
être
positionné
librement
dans
le
résultat
.
Pour
chaque
requête
à
défilement
,
il
existe
des
valeurs
globales
de
types
de
défilement
(
initialisée
à
:
SESAM_SEEK_NEXT
)
et
la
position
peut
être
fixée
une
seule
fois
par
sesam_seek_row(
)
ou
bien
à
chaque
appel
,
avec
la
fonction
sesam_fetch_row(
)
.
Pour
les
requêtes
immédiates
,
le
nombre
de
lignes
affectées
est
sauvé
,
et
est
accessible
par
la
fonction
sesam_affected_rows(
)
.
Voir
aussi
:
sesam_fetch_row(
)
et
sesam_fetch_result(
)
.
Exemple
1
.
Liste
toutes
les
lignes
de
table
"
phone
"
sous
forme
de
table
HTML
?php
if
(
!sesam_connect("phonedb"
,
"demo"
,
"toto")
)
die("cannot
connect")
;
$result
=
sesam_query("select
*
from
phone")
;
if
(!$result
)
{
$err
=
sesam_diagnostic()
;
die($err["errmsg"])
;
}
echo
"
TABLE
BORDER
\n"
;
/
/
Ajoute
l'entête
de
titre
comme
nom
de
colonne
if
($cols
=
sesam_field_array($result)
)
{
echo
"
TR
TH
COLSPAN=".$cols["count"]
.
"
Result
:
/
TH
/
TR
\n"
;
echo
"
TR
\n"
;
for
($col
=
0
;
$col
$cols["count"]
;
++$col
)
{
$colattr
=
$cols[$col]
;
/
*
étend
les
entêtes
de
la
table
au
dessus
des
champs
multiples
*
/
if
($colattr["count"
]
1
)
{
echo
"
TH
COLSPAN=".$colattr["count"]
.
"
".$colattr["name"]
.
"(1.
.".$colattr["count"]
."
)
/
TH
\n"
;
$col
+=
$colattr["count"
]
-
1
;
}
else
echo
"
TH
"
.
$colattr["name"
]
.
"
/
TH
\n"
;
}
echo
"
/
TR
\n"
;
}
do
{
/
/
Lit
les
résultats
par
bloc
de
100
$ok
=
sesam_fetch_result($result,100)
;
for
($row=0
;
$row
$ok["rows"]
;
++$row
)
{
echo
"
TR
\n"
;
for
($col
=
0
;
$col
$ok["cols"]
;
++$col
)
{
if
(isset($ok[$col][$row])
)
echo
"
TD
"
.
$ok[$col][$row
]
.
"
/
TD
\n"
;
else
echo
"
TD
-empty
-
/
TD
\n"
;
}
echo
"
/
TR
\n"
;
}
}
while
($ok["truncated"])
;
/
/
tant
qu'il
a
y
encore
des
données
echo
"
/
TABLE
\n"
;
/
/
libère
les
ressources
sesam_free_result($result)
;
?
|
|