Page 1 sur 1
SQL erreur bizare
Posté : 29 mars 2007, 20:52
par Invité
Salut,
J'ai upload ma table:
Code : Tout sélectionner
CREATE TABLE `banniere_table` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(255) collate latin1_general_ci NOT NULL,
`img` varchar(255) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
--
-- Dumping data for table `banniere_table`
--
INSERT INTO `banniere_table` VALUES (1, '12-12-2000', 'banniere.gif');
INSERT INTO `banniere_table` VALUES (2, '13-12-2000', '0dbc5f96fb.gif');
INSERT INTO `banniere_table` VALUES (3, '16-12-2003', '1a69ce3258.gif');
INSERT INTO `banniere_table` VALUES (4, '18-12-2000', '3su8.gif');
tout va bien et quand j'ouvre le fichier php il me donne une erreur:
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 1
si vous avez une idee, merci
Posté : 29 mars 2007, 23:29
par Theri le Vorace
Tu as 2 requêtes qui s'enchaînent, essaye de les faire l'une à la suite de l'autre, ça m'a débuggué un script une fois

Posté : 30 mars 2007, 22:31
par Invité
Tu as 2 requêtes qui s'enchaînent, essaye de les faire l'une à la suite de l'autre, ça m'a débuggué un script une fois

mon code est le suivant:
<?php
//inclure les parametres
include ("Config_File.php");
//dossier des images
$path = "Images";
//poster les vars
if(isset($_POST['img'])) $img = $_POST['img'];
else $img = '';
if(isset($_POST['url'])) $url = $_POST['url'];
else $url = '';
//date
$date = date("d/m/Y");
//connexion
$connection = mysql_connect("$dbhost", "$dblogin", "$dbpassword") or die ('Erreur : '.mysql_error() );
$db = mysql_select_db($dbname, $connection) or die ('Erreur : '.mysql_error() );
$select = 'SELECT * FROM'. $banniere_table;
$result = mysql_query($select) or die(mysql_error());
//$result = mysql_query($select,$connection) or die ($ErrorSelect);
$total = mysql_num_rows($result);
//on calcule le nombre total de lignes
if($total==0)
{
//si un resultat nul on affiche une banniere par defo
echo '<div align="center"><img src="'.$path.'/banniere.gif" alt="" class="" border="0" width="470" height="90" align="middle"></div>';
}
else
{
//sinon on ressort un nombre aleatoire du nombre de lignes
srand (time());
$number=(rand()%$total);
$number++;
//on trouve la ligne ou le id hasard est le meme ke le number genere
$select2 = 'select * from' .$banniere_table. 'where id='.$number;
$banner = mysql_query($select2) or die(mysql_error());
//on les regroupe ds un tab
while ($data = mysql_fetch_array($banner)) {
$img = $data['img'];
$url = $data['url'];
// on affiche notre banniere
echo '<div align="center"><a href="'.$url.'"><img src="'.$path.'/'.$img.' border="0" width="470" height="90"></div>';
}
}
mysql_close ();
?>
Posté : 31 mars 2007, 14:25
par Ryle
Affiche tes requêtes $select et $select2, tu pourras les tester directement dans MySQL ou phpMyAdmin, mais ceci dit, je pense que le problème te sauteras aux yeux
Disons qu'elles manquent un peu d'espace autour du noms des tables

Re: SQL erreur bizare
Posté : 31 mars 2007, 14:49
par hakazizi
Salut,
J'ai upload ma table:
Code : Tout sélectionner
CREATE TABLE `banniere_table` (
`id` int(11) NOT NULL auto_increment,
`date` varchar(255) collate latin1_general_ci NOT NULL,
`img` varchar(255) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ;
--
-- Dumping data for table `banniere_table`
--
INSERT INTO `banniere_table` VALUES (1, '12-12-2000', 'banniere.gif');
INSERT INTO `banniere_table` VALUES (2, '13-12-2000', '0dbc5f96fb.gif');
INSERT INTO `banniere_table` VALUES (3, '16-12-2003', '1a69ce3258.gif');
INSERT INTO `banniere_table` VALUES (4, '18-12-2000', '3su8.gif');
tout va bien et quand j'ouvre le fichier php il me donne une erreur:
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 1
si vous avez une idee, merci
quel est la version de ta bd car sur easyphp 1.8 elle passe tres bien
Posté : 31 mars 2007, 15:17
par Invité
Cette erreur est donnee dans la page php et pas dans la base de donner sql c'est dans le fichier.php
Posté : 01 avr. 2007, 23:05
par Invité
J'essaie d'uploder ma table et donne cette erreur:
#1064 - 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 'CREATE TABLE `banniere_table2` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`' at line 1
je suis heberge sous free et ma table est comme suite:
Code : Tout sélectionner
CREATE TABLE `banniere_table2` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT , `nbre` VARCHAR( 255 ) NOT NULL , `img` VARCHAR( 255 ) NOT NULL , PRIMARY KEY ( `id` )
) TYPE = MYISAM
Posté : 02 avr. 2007, 14:50
par Ryle
Enlève la taille de ta clé, un champ de type INT n'a pas à avoir de taille spécifiée
Code : Tout sélectionner
CREATE TABLE banniere_table2 (
id INT NOT NULL AUTO_INCREMENT,
nbre VARCHAR(255) NOT NULL,
img VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
) TYPE = MYISAM
Posté : 03 avr. 2007, 15:14
par Invité
ca marche bien, quand j'insere mes donnees en arabe dans la BD, ca donne que des ???? dans la BD, alors je les recupere avec ???? dans le site, sachant que l'ecriture normal au site n'a aucun probleme tant que j'utilise UTF comme encodage