Redirection après erreur SQL pour données non trouvées.

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


Greg_FreeeTV
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 108
Inscription: Jeu Déc 21, 2006 20:45

Redirection après erreur SQL pour données non trouvées.

Message le Mar Juin 24, 2008 10:59

Bonjour,

Je gère un site qui comprend plus de 1400 Tv, que j'ajoute sur une base donnée MySQL via l'addon d'un cms.

A chaque nouvel ajout, l'url de ce type /modules.php?name=Video_Stream&page=watch&id=558 et incrémentée d'un. Donc 558, 559, 560

Le problème et que quand je supprime une tv, et qu'un visiteur veut acceder à la page ou se trouvait cette tv, il voit une erreur SQL.
Celle-là :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Je cherche un moyen de remplacer ce texte par un message disant aux visiteurs que cette tv n'existe plus, ou simplement un moyen de les rediriger sur la page d'acceuil.

Quelle stratégie me conseillez-vous ? :roll:
Dernière édition par Greg_FreeeTV le Mar Juin 24, 2008 11:02, édité 1 fois.

jarreweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Ven Sep 12, 2003 8:17

Message le Mar Juin 24, 2008 11:01

juste après ta première requête qui utilise l'id que tu passes en paramètres, tu testes si les données sont vides ou pas (le tableau construit avec mysql_fetch_assoc() ou mysql_fetch_array())


Greg_FreeeTV
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 108
Inscription: Jeu Déc 21, 2006 20:45

Message le Mar Juin 24, 2008 11:04

Bonjour jarreweb

merci je vais regarder plus en profondeur, car je ne trouve pas ces deux requettes dans les fichiers du module.

Le problème vient peut-être aussi du fichier watch.php (celui qui affiche les pages de visionnement des tv)
Voici le début du code qui fait référence à l'id de la page.
$id = $_GET['id'];
$request = $_GET['request'];
if($id == "request") {
// Gets the data of request video **FOR ADMIN**
$result = $db->sql_query("SELECT * FROM ".$prefix."_video_stream WHERE id='$request'");
$row = $db->sql_fetchrow($result);
} else {
// Check if category is adult category and requires user to accept disclaimer or if required ofr the user to be registered
adultcategory($id);

// adds a view to the video
$result = $db->sql_query("SELECT * FROM ".$prefix."_video_stream WHERE id='$id'");
$row = $db->sql_fetchrow($result);
$v = $row['views'];
$v++;
$result = $db->sql_query("UPDATE ".$prefix."_video_stream SET views='$v' WHERE id='$id'");
// Gets the data of that video
$result = $db->sql_query("SELECT * FROM ".$prefix."_video_stream WHERE id='$id'");
$row = $db->sql_fetchrow($result);
}


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Juin 24, 2008 12:31

le SELECT renvoi false si il n'y a pas de données il faut donc tester si ($result !== false) pour continuer


Greg_FreeeTV
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 108
Inscription: Jeu Déc 21, 2006 20:45

Message le Mar Juin 24, 2008 12:41

Ok j'ai trouvé une solution de redirection en ajoutant ce code

$num_rows = mysql_num_rows($result);
if($num_rows=="") {
echo '<SCRIPT LANGUAGE="JavaScript">
alert ("Désolé cette TV n\'existe plus ")
window.location.replace("http://www.google.com");
</SCRIPT>';
}


On peut voir un exemple du résultat ici : http://www.freeetv.com/modules.php?name ... h&id=18492

Merci pour votre support. :D

Sujet résolu ! :D


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Juin 24, 2008 12:57

j'ai des <br> qui s'affichent sur FF

edit : sous ie6 aussi


Greg_FreeeTV
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 108
Inscription: Jeu Déc 21, 2006 20:45

Message le Mar Juin 24, 2008 13:19

Oui, c'est corrigé maintenant j'ai remplacé les <br> par des \n et les à la ligne fonctionnent :D

Bonne journée, bon soleil !


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Desktop Search

  • Test de lien (type de redirection)
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités