Erreur de syntaxe SQL

Résolu/Fermé
Kerborg Messages postés 9 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 25 novembre 2012 - 25 nov. 2012 à 10:31
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.

6 réponses

Utilisateur anonyme
25 nov. 2012 à 10:41
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.
0
Kerborg Messages postés 9 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 25 novembre 2012
Modifié par Kerborg le 25/11/2012 à 11:09
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;
}
}
?>
0
Kerborg Messages postés 9 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 25 novembre 2012
25 nov. 2012 à 11:13
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.
0
Utilisateur anonyme
25 nov. 2012 à 11:14
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kerborg Messages postés 9 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 25 novembre 2012
25 nov. 2012 à 11:31
Comment on fait ça ? Merci.
0
Utilisateur anonyme
25 nov. 2012 à 11:34
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.
0
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
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...
0