Erreur PHP/requête SQL division by zero
MrPich
-
Breub62 Messages postés 3452 Statut Membre -
Breub62 Messages postés 3452 Statut Membre -
Bonjour,
je suis actuellement en train de concevoir un moteur de recherche pour mon site. Le problème est que PHP m'affiche une erreur au niveau de ma requête SQL. Je pense pourtant qu'elle est correcte, ça doit venir de la syntaxe ?
Voici l'erreur en question.
Pourriez-vous m'aider ? Merci ;)
je suis actuellement en train de concevoir un moteur de recherche pour mon site. Le problème est que PHP m'affiche une erreur au niveau de ma requête SQL. Je pense pourtant qu'elle est correcte, ça doit venir de la syntaxe ?
$query2 = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(datep, \'%d/%m/%Y\') AS date_p FROM articles WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'');
Voici l'erreur en question.
Warning: Division by zero in /var/www/legtux.org/users/monsite/search.php on line 28
Pourriez-vous m'aider ? Merci ;)
A voir également:
- Erreur PHP/requête SQL division by zero
- Remettre a zero un pc - Guide
- Message bounced by administrator - Forum Mail
- Comment remettre un iphone à zéro - Guide
- Zéro barré clavier ✓ - Forum Windows
- Shoes by iara - Forum Consommation & Internet
5 réponses
Je ne crois pas que le problème vienne de ta requête. Peux tu montrer les quelques lignes qui précèdent et suivent la requête stp?
Je C/C tout le code, au cas où. Voilà :)
MODIF: Un autre problème survient : j'ai une erreur de fetch.
<?
try
{
$bdd = new PDO('mysql:host=localhost;dbname=zeldasymphony;', 'zeldasymphony', 'hs-887632'); // Connexion BDD
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage()); // Si mauvais identifiants, renvoyer une erreur
}
$search = $_POST['search'];
if (isset($search))
{
$query = $bdd->query('SELECT COUNT(*) AS nbr FROM articles WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'');
$nbr = $query->fetch();
if ($nbr['nbr'] != 0)
{
if ($nbr['nbr'] == 1)
{
$query2 = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(datep, \'%d/%m/%Y\') AS date_p FROM articles
WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'');
echo 'Un seul résultat !<br />';
while ($q2 = $query2->fetch())
{ ?>
<p><a href="complete_art.php?id=<? echo $q2['id']; ?>"><? echo $q2['titre']; ?></a> (<? echo $q2['date_p']; ?>)</p>
<? }
$query2->closeCursor();
}
else {
$query2 = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(datep, \'%d/%m/%Y\') AS date_p FROM articles
WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'');
echo ''.$nbr['nbr'].' résultats !<br />';
$query->closeCursor();
while ($q2 = $query2->fetch())
{ ?>
<p><a href="complete_art.php?id=<? echo $q2['id']; ?>"><? echo $q2['titre']; ?></a> (<? echo $q2['date_p']; ?>)</p>
<? }
$query2->closeCursor();
}
}
else
{
echo 'Pas de résultat.';
}
}
else
{
echo 'Veuillez entrer votre recherche !';
}
?>
MODIF: Un autre problème survient : j'ai une erreur de fetch.
En fait si c'est peu être bien la requête mais pas directement...
Remplace :
Par :
Remplace :
$query2 = $bdd->query('SELECT id, titre, contenu, DATE_FORMAT(datep, \'%d/%m/%Y\') AS date_p FROM articles WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'');
Par :
$query2 = $bdd->query("SELECT id, titre, contenu, DATE_FORMAT(datep, '%d/%m/%Y') AS date_p FROM articles WHERE titre LIKE '%$search%' OR contenu LIKE '%$search%'");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question