requête sql dans une fonction
Bonjour, j'ai une petite question.
Pourquoi ce premier code fonctionne parfaitement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| //reception du message
if(isset($_POST['phrase']) AND $_POST['phrase'] != "" ){
$phrase = $_POST['phrase'];
$intensitedumessage = 40;
$auteur="humain";
//insertion du message dans la liste des phrases
$ins=$bdd->prepare('INSERT INTO phrases (contenu,auteur) VALUES (?,?) ');
$ins->execute(array($phrase, $auteur));
//envoyer chaque lettre de la phrase dans la fonction stimulus
while($phrase != ""){
$recu = substr($phrase,0,1);
$sens = "lecture";
$intensite = $intensitedumessage;
if($sens == "lecture"){
echo($recu . " ");
//est-ce que ce recu est connu ?
$iddurecu = 0 ;
echo("123");
$monades = $bdd->query("SELECT * FROM monades");
echo("456");
while ($monade = $monades->fetch())
{
echo("yo");
if($monade['contenu'] == $recu){
$iddurecu = $monade['id'];
}
else{
echo("berk");
}
}
echo($iddurecu);
if($iddurecu == 0){ //le recu est inconnu donc on l'ajoute
$ins=$bdd->prepare('INSERT INTO monades (contenu) VALUES (?) ');
$ins->execute(array($recu));
}
//puis on
}
$phrase = substr($phrase,1);
}
} |
Alors que celui-ci ne fonctionne pas et s'arrête à écho("123") :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| //fonction stimulus
function stimulus($recu,$sens,$intensite){
if($sens == "lecture"){
echo($recu . " ");
//est-ce que ce recu est connu ?
$iddurecu = 0 ;
echo("123");
$monades = $bdd->query("SELECT * FROM monades");
echo("456");
while ($monade = $monades->fetch())
{
echo("yo");
if($monade['contenu'] == $recu){
$iddurecu = $monade['id'];
}
else{
echo("berk");
}
}
echo($iddurecu);
if($iddurecu == 0){ //le recu est inconnu donc on l'ajoute
$ins=$bdd->prepare('INSERT INTO monades (contenu) VALUES (?) ');
$ins->execute(array($recu));
}
}
}
//reception du message
if(isset($_POST['phrase']) AND $_POST['phrase'] != "" ){
$phrase = $_POST['phrase'];
$intensitedumessage = 40;
$auteur="humain";
//insertion du message dans la liste des phrases
$ins=$bdd->prepare('INSERT INTO phrases (contenu,auteur) VALUES (?,?) ');
$ins->execute(array($phrase, $auteur));
//envoyer chaque lettre de la phrase dans la fonction stimulus
while($phrase != ""){
stimulus( substr($phrase,0,1) , "lecture" , $intensitedumessage );
$phrase = substr($phrase,1);
}
} |
Il est interdit de faire une requête sql à l'intérieur d'une fonction ?
C'est très bizarre :(