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
  {

  }
?>
Était-ce utile?

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
scroll top