Recherche d'un champ sur une base de données Oracle - PHP - Programmation
Marsh Posté le 11-05-2004 à 16:07:31
avec ton truc, la requête fini toujours par AND ;
génial. pense à afficher ta requête...
Marsh Posté le 11-05-2004 à 16:12:38
Elle est affichée ma requête par le echo $requete; et au lieu d'afficher il me met la synatxe $requete .= " nom LIKE \"".$POST['nom_formulaire']."%\" and " ... Le fait de mettre un and permet justement de lier les contraintes.....
Marsh Posté le 11-05-2004 à 16:13:54
oui mais, la dernière tu y a pensé ? y'a pas de AND après...
Marsh Posté le 11-05-2004 à 16:21:19
modifies tes quotes \" par '
$requete .= " nom LIKE \"".$POST['nom_formulaire']."%\" and ";
par
$requete .= " nom LIKE '".$POST['nom_formulaire']."%' and ";
partout ça va de soit
Marsh Posté le 11-05-2004 à 16:04:05
Bonjour à tous
J'ai un petit souci: voilà j'ai une base de données Oracle dans laquelle j'ai 4 champs: nom, prénom, age, adresse ainsi que des données. Mon but est d'avoir à faire une recherche suivant un des 4 champs au choix ou plus d'un champ.
Code:
<?
$conn = ociLogon("belkhir","belkhir",'BTEST');
$requete = ociparse($conn,"SELECT nom, prenon, age, adresse FROM essai WHERE " );
if (isset($_POST['nom_formulaire']) && $_POST['nom_formulaire'] <> "" )
{
$requete .= " nom LIKE \"".$POST['nom_formulaire']."%\" and ";
}
if (isset($_POST['prenom_formulaire']) && $_POST['prenom_formulaire'] <> "" )
{
$requete .= " prenom LIKE \"".$POST['nom_formulaire']."%\" and ";
}
if (isset($_POST['age_formulaire']) && $_POST['age_formulaire'] <> "" )
{
$requete .= " age = ".$POST['nom_formulaire']."%\" and ";
}
if (isset($_POST['adresse_formulaire']) && $_POST['adresse_formulaire'] <> "" )
{
$requete .= " adresse LIKE \"".$POST['nom_formulaire']."%\" and ";
}
$requete .= ";";
echo $requete;
$result = ociexecute($requete);
while ($row = ociFetch($result))
{
$nom = $row[0];
$prenom = $row[1];
$age = $row[2];
$adresse = $row[3];
echo "<table><tr><td>$nom</td><td>$prenom</td><td>$age</td><td>$adresse</td>";
}
?>
L'erreur est la suivante:
Resource id #5;
Warning: ociexecute(): supplied argument is not a valid OCI8-Statement resource
Warning: ocifetch(): supplied argument is not a valid OCI8-Statement resource
$requete .= " nom LIKE \"".$POST['nom_formulaire']."%\" and "
Je désespère.... ;-((( Si vous avez une idée serait possible de me la communiquer svp, merci d'avance....