Valeur de retour de oci_parse
Question
quel sera l'état de si, où je veux exécuter une commande à l'intérieur si, s'il n'y a pas de ligne renvoyée par la requête.
<?php
include_once('config.php');
$db = oci_new_connect(ORAUSER,ORAPASS,"localhost/XE");
$sql="select * from table_1 where id=3";
$result=oci_parse($db,$sql);
oci_result($result);
if()
{
}
else
{
}
?>
La solution
vous pouvez utiliser oci_fetch
:
// parse/bind your statement
if (oci_fetch($your_statement)) {
... // do something when there is rows
}
else {
... // do something when there is no rows
}
Autres conseils
Après avoir affecté les valeurs liées à oci_parse (), vous devez exécuter la requête avec oci_execute () . Telle est la définition de la fonction:
bool oci_execute (ressource $ statement [, int $ mode = OCI_COMMIT_ON_SUCCESS])
Retourne TRUE en cas de succès ou si une erreur survient.
Mettre tous ensemble:
<?php
$stmt = oci_parse($conn, $sql);
$res = oci_execute($stmt);
if( !$res ){
$error = oci_error($stmt);
echo "Error: " . $error['message'] . "\n";
}else{
echo "OK\n";
}
?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow