J'utilise l'extension php mysqli avec des instructions préparées, mais sur une requête, il ne crée pas l'objet de requête.PHP Mysqli préparé ne créant pas d'objet d'instruction
Voici le code:
$sqlq = "SELECT id,name FROM productcategories JOIN products ON productcategories.productid = products.id WHERE categoryid=?";
if($allsubcats)
{
foreach($allsubcats as $key => $data)
{
$sqlq .= " OR categoryid=?";
}
}
echo $sqlq;
if($query = $this->mysqli->connection->prepare($sqlq))
{
$query->bind_param("i", $cat);
if($allsubcats)
{
foreach($allsubcats as $key => $data)
{
$query->bind_param("i", $data[0]);
}
}
$query->execute();
$query->bind_result($id,$name);
$query->store_result();
if($query->num_rows > 0)
{
while($row = $query->fetch())
{
$allprods["id"] = $id;
$allprods["name"] = $name;
}
}
$query->close();
}
Le problème:
La ligne if($query = $this->mysqli->connection->prepare($sqlq))
Le if()
est soit faux, et donc ne pas créer l'objet $query
, et ne pas exécuter tout le code à l'intérieur le si.
Les retours echo $sqlq;
:
« id, nom SELECT DE REJOIGNEZ produits sur catégories de produit productcategories.productid = products.id OÙ categoryid = OU categoryid = OU categoryid = OU categoryid = OU categoryid =??? OU categoryid =? "
Avec quoi je ne vois rien de mal.
Toute aide serait grandement appréciée,
Merci, Nico
Vous n'êtes pas le seul, si cela peut vous rassurer ^^ Et vous avez eu un excellent réflexe, revenant à donner la solution :-) –
Se lever voté pour répondre à votre propre question whoda thunk il: D – rezzif
Caoutchouc ducking ftw . http://www.c2.com/cgi/wiki?RubberDucking – hobodave