Probléme PHP
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai ce script :
Malheureusement, avec L'ID, il affiche "Erreur lors de la suppression !"
Pourquoi sa ne marche pas ???
--
Lucas
J'ai ce script :
<?php
if(isset($_GET['id']))
{
include('../_config-rating.php');
$sql = 'DELETE FROM ratings WHERE id='.$_GET['id'];
$req = mysql_query($sql);
mysql_close();
if($req == true) {
echo '<br /><br /><center>Suppression réussie !</center>';
}
else
{
echo '<br /><br /><center>Erreur lors de la suppression !</center>';
}
}
else
{
echo "erreur";
}
?>
Malheureusement, avec L'ID, il affiche "Erreur lors de la suppression !"
Pourquoi sa ne marche pas ???
--
Lucas
13 réponses
-
-
bonsoir,
un problème dans ta requête remplace la par :
"DELETE FROM ratings WHERE id='$_GET['id']'";
-
-
Est-ce que tu es bien connecté à ta base de données ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai un peu modifier mon code, j'ai mis :
<?php if(preg_match("#^[0-9]+$#", $_GET['id'])) { mysql_connect("localhost", "*******", "******"); mysql_select_db("******"); $sql = 'DELETE FROM ratings WHERE id='.$_GET['id']; $req = mysql_query($sql); mysql_close(); if($req == true) { echo '<br /><br /><center>Suppression réussie !</center>'; } else { echo '<br /><br /><center>Erreur lors de la suppression !</center>'; mysql_error(); } } else { echo "erreur"; } ?>
Il me dit suppression réussis mais quand je vérifie, sa n'a pas marché.
Esque vous savez comment l'on fait pour remettre à zero un Id seulement de ma table ?
Voici la table :CREATE TABLE `ratings` ( `id` varchar(11) NOT NULL, `total_votes` int(11) NOT NULL default 0, `total_value` int(11) NOT NULL default 0, `used_ips` longtext, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3
-
ctype_digit() pour vérifier un entier.
$req retournera false uniquement si la requête rencontre une erreur.
mysql_affected_rows() pour connaître le nombre de lignes affectées par ta requête -
essaye avec
if(mysql_num_rows($req))
{
echo '<br /><br /><center>Suppression réussie !</center>';
}
else
{
echo '<br /><br /><center>Erreur lors de la suppression !</center>';
mysql_error();
}
}
else
{
echo "erreur";
} -
C'est dingue, je viens de donner la soluce, mais ça ne t'empêche pas de poster une ânerie...
-
J'ai esayé ceci :
<?php if(preg_match("#^[0-9]+$#", $_GET['id'])) { mysql_connect("localhost", "****", "*****"); mysql_select_db("*****"); $sql = 'DELETE FROM ratings WHERE id='.$_GET['id']; $req = mysql_query($sql); mysql_close(); if(mysql_num_rows($req)) { echo '<br /><br /><center>Suppression réussie !</center>'; } else { echo '<br /><br /><center>Erreur lors de la suppression !</center>'; mysql_error(); } } else { echo "erreur"; } ?>
Mais sa affiche : "Erreur lors de la suppression !"
et mysql_error(); n'affiche rien -
-
Voila ce que j'ai essayé de faire :
<?php if(preg_match("#^[0-9]+$#", $_GET['id'])) { mysql_connect("localhost", "", ""); mysql_select_db(""); $videoid = $_GET['id']; $voteid = id; $final = $voteid.$videoid; $sql = 'DELETE FROM ratings WHERE id='$final; $req = mysql_query($sql); mysql_close(); if($req == true) { echo '<br /><br /><center>Suppression réussie !</center>'; } else { echo '<br /><br /><center>Erreur lors de la suppression</center>'; echo mysql_error(); } } else { echo "erreur"; } ?>
J'ai remarqué que dans ma table, il y a : id avec en association : id13 et pas directement le numero. Il faut donc que je rajoute le id devant.
Malheureusement, sa ne marche pas.... -
essayes:
$sql = "DELETE FROM ratings WHERE id='id".$_GET['id']."'";
puisque ton champ id est de la forme idxxx -