SQL erreur bizare

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SQL erreur bizare

par Invité » 03 avr. 2007, 15:14

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

par Ryle » 02 avr. 2007, 14:50

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

par Invité » 01 avr. 2007, 23:05

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

par Invité » 31 mars 2007, 15:17

Cette erreur est donnee dans la page php et pas dans la base de donner sql c'est dans le fichier.php

Re: SQL erreur bizare

par hakazizi » 31 mars 2007, 14:49

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

par Ryle » 31 mars 2007, 14:25

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 :)

par Invité » 30 mars 2007, 22:31

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 (); 
?>

par Theri le Vorace » 29 mars 2007, 23:29

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 ;)

SQL erreur bizare

par Invité » 29 mars 2007, 20:52

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