Erreur de syntaxe SQL [Résolu/Fermé]

Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
- - Dernière réponse : Kerborg
Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
- 25 nov. 2012 à 11:54
Bonjour,




Sur site local tout est OK
Sur site distant = erreur de syntax SQL.

Qu'est ce qui pourrait expliquer cette erreur de syntaxe entre les deux ? Merci.
Afficher la suite 

6 réponses

Messages postés
1650
Date d'inscription
dimanche 21 octobre 2012
Statut
Membre
Dernière intervention
10 décembre 2016
311
0
Merci
Bonjour, il faudrait voir un extrait de code et la requête SQL en question. Ou alors savoir si la version de ta base de données (qui n'est pas précisée non plus) est la même que sur ton ordinateur. Il peut s'agir aussi d'une configuration différente.
Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
0
Merci
Je n'y connais pas grand chose alors voilà :
dans fichier index.php
code : <?php echo rating_bar('groupe','5'); ?>

dans fichier _drawrating.php :
<?php

function rating_bar($id,$units='',$static='') {

require('_config-rating.php'); // get the db connection info

//set some variables
$ip = $_SERVER['REMOTE_ADDR'];
if (!$units) {$units = 10;}
if (!$static) {$static = FALSE;}

// get votes, values, ips for the current rating bar
$query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error());


// insert the id in the DB if it doesn't exist already
if (mysql_num_rows($query) == 0) {
$sql = "INSERT INTO $rating_dbname.$rating_tableName ('id','total_votes', 'total_value', 'used_ips') VALUES ('$id', '0', '0', '')";
$result = mysql_query($sql);
}

$numbers=mysql_fetch_assoc($query);


if ($numbers['total_votes'] < 1) {
$count = 0;
} else {
$count=$numbers['total_votes']; //how many votes total
}
$current_rating=$numbers['total_value']; //total number of rating added together and stored
$tense=($count==1) ? "vote" : "votes"; //plural form votes/vote

// determine whether the user has voted, so we know how to draw the ul/li
$voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' "));

// now draw the rating bar
$rating_width = @number_format($current_rating/$count,2)*$rating_unitwidth;
$rating1 = @number_format($current_rating/$count,1);
$rating2 = @number_format($current_rating/$count,2);


if ($static == 'static') {

$static_rater = array();
$static_rater[] .= "\n".'<div class="ratingblock">';
$static_rater[] .= '<div id="unit_long'.$id.'">';
$static_rater[] .= '<ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';
$static_rater[] .= '<li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';
$static_rater[] .= '</ul>';
$static_rater[] .= '<p class="static">'.$id.'. Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast) <em>This is \'static\'.</em></p>';
$static_rater[] .= '</div>';
$static_rater[] .= '</div>'."\n\n";

return join("\n", $static_rater);


} else {

$rater ='';
$rater.='<div class="ratingblock">';

$rater.='<div id="unit_long'.$id.'">';
$rater.=' <ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">';
$rater.=' <li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>';

for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units
if(!$voted) { // if the user hasn't yet voted, draw the voting stars
$rater.='<li><a href="db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' out of '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>';
}
}
$ncount=0; // resets the count

$rater.=' </ul>';
$rater.=' <p';
if($voted){ $rater.=' class="voted"'; }
$rater.='>'.$id.' Rating: <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.' cast)';
$rater.=' </p>';
$rater.='</div>';
$rater.='</div>';
return $rater;
}
}
?>
Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
0
Merci
savoir si la version de ta base de données (qui n'est pas précisée non plus) est la même que sur ton ordinateur = je ne sais pas où regarder.
Messages postés
1650
Date d'inscription
dimanche 21 octobre 2012
Statut
Membre
Dernière intervention
10 décembre 2016
311
0
Merci
Tu sais à quel endroit il se plante? Tu pourrais retracer ce qui se passe en affichant les différentes variables que tu reçois pour voir s'il y en a une qui peut perturber la requête SQL.
Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
0
Merci
Comment on fait ça ? Merci.
Rocky_123
Messages postés
1650
Date d'inscription
dimanche 21 octobre 2012
Statut
Membre
Dernière intervention
10 décembre 2016
311 -
Tu peux simplement mettre des "echo" de tes requêtes, variables etc.

Par exemple, pour voir ce que contient "query" :

echo($query) juste après.
Messages postés
9
Date d'inscription
samedi 24 novembre 2012
Statut
Membre
Dernière intervention
25 novembre 2012
0
Merci
Merci à Rocky_123. Ton conseil sur la config a payé.
J'ai vérifié, ma config était bonne. Mais je n'avais pas vu que chez mon hébergeur, après avoir créé la base et lui avoir attaché un utilisateur, il fallait que j'attribue les privilèges.
Désormais tout fonctionne.
OUFF ! enfin...