Erreur creation de table Mysql

WRInaute impliqué
Salut à tous, lors d'une requette pour créer une nouvelle table nommée "task" avec ma page php, je reçois un message d'erreur Mysql qui est le suivant :

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 ''http://ads.clicmanager.fr/' at line 1

Je vérifie donc dans ma base de donnée, et je vois bien la table crée, mais vide.

Voici le code de la page php :

Code:
<?
if($act=='addvisit')
{
if(!mysql_query("CREATE TABLE task$code (
fnum int (10) unsigned NOT NULL auto_increment,
fip char (20) default NULL,
fid int (10),
fdate date default NULL,
ftime time default NULL,
PRIMARY KEY (fnum)
) TYPE=MyISAM;")) {echo"Ticket deja existant!"; exit;}
$sql=mysql_query("INSERT INTO tasks(fcode,fsize,furl,fsitename,fnote,fvisits,fname,flog,fpass,startdate,enddate,prise,fpaytype) VALUES($code,$size,'$url','$sitename','$note',0,'$name','$login','$password','$sdate','$edate',$prise,'$paytype')") or die(mysql_error());
if(mysql_affected_rows()) echo"Nouvelle campagne de visite ajoutée";

}
?>
<form name="addvisit" method="post" action="">
<table border="0" width="100%" align="center" bgcolor="f5f5f5">
<tr valign="top">
<td colspan="2" bgcolor="#006666"><font color="#FFFFFF"><b><font face="Arial, Helvetica, sans-serif">ADD
Nouvelle campagne clics</font></b></font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">code:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<?
if(!mysql_num_rows(mysql_query("SELECT fn AS cod FROM tasks ORDER BY fn DESC"))) $cod=1;
else{
@ extract(mysql_fetch_array(mysql_query("SELECT fn AS cod FROM tasks ORDER BY fn DESC"))); $cod=$cod+1;}

?>
<input type="text" name="code" value="<?echo $cod?>">
<font size="1">(do not change)</font></font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">campaign
size:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="size" value="<?if($act=add) echo $ftype?>">
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">campaign
URL:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="url" value="<?if($act=add) echo $furl?>">
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Site
name:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="sitename" value="<?if($act=add) echo $fsitename?>">
</font></td>
</tr>
<tr valign="top">
<td width="53%">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Site description
(<b>or</b> banner image HTML-code):</font><br>
<font color="#FF0000"><b><font size="1">example: <font color="#000066">&lt;img
src=http://site.com/banner.gif&gt;</font></font></b></font></p>
</td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<textarea name="note" cols="40" rows="4"><?if($act=add) echo $fnote?></textarea>
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Advertiser's
name:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="name" value="<?if($act=add) echo $fname?>">
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Advertiser's
login:</font></td>
<td width="47%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="login">
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Advertiser's
password:</font></td>
<td width="47%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="password">
</font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Campaign
start date:</font></td>
<td width="47%"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="sdate">
<font size="1">(YYYY-MM-DD)</font></font></td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Campaign
end date:</font></td>
<td width="47%">
<input type="text" name="edate">
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <font size="1">(YYYY-MM-DD)</font></font>
</td>
</tr>
<tr valign="top">
<td width="53%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Pay
for 1 visit:</font></td>
<td width="47%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
<input type="text" name="prise" size="4">
<input type="radio" name="paytype" value="points" checked>
<font size="1">POINTS</font>
<input type="radio" name="paytype" value="usd">
<font size="1">USD</font></font></td>
</tr>
<tr valign="top">
<td colspan="2">
<div align="center"><font size="4">&nbsp; </font></div>
</td>
</tr>
<tr valign="top">
<td colspan="2">
<div align="center">
<input type="hidden" name="tp" value="newptc">
<input type="hidden" name="act" value="addvisit">
<input type="submit" name="Submit" value="Add campaign">
</div>
</td>
</tr>
</table>
<div align="center"></div>
</form>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#006666"><b><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">ACTIVE
PTC-CAMPAIGNS</font></b></td>
</tr>
<tr>
<td>
<table width=100% border=1 bordercolor=cccccc cellspacing=0>
<tr>
<td>
<div align="center"><i>#</i></div>
</td>
<td>
<div align="center"><i>Code</i></div>
</td>
<td>
<div align="center"><i>Campaign size</i></div>
</td>
<td>
<div align="center"><i>URL</i></div>
</td>
<td>
<div align="center"><i>Delivered visits</i></div>
</td>
<td>
<div align="center"><i>Login</i></div>
</td>
<td>
<div align="center"><i>Password</i></div>
</td>
<td><i>Price</i></td>
<td>
<div align="center"><i>View</i></div>
</td>
</tr>
<?
$sql=mysql_query("SELECT * FROM tasks ORDER BY fn");
$rows=mysql_num_rows($sql);
for($i=0;$i<$rows;$i++)
{
mysql_data_seek($sql,$i);
$arr=mysql_fetch_array($sql);
extract($arr);
echo"
<tr><td>$fn</td><td>$fcode</td><td>$fsize</td><td>$furl</td><td>$fvisits</td><td>$flog</td><td>$fpass</td><td>$prise $fpaytype</td><td><a href=viewvisitcamp.php?fn=$fn target=blank>view</a></td></tr>
";
}
?>
</table>
</td>
</tr>
</table>

Merci de votre aide.
 
WRInaute discret
Bonjour,

Comme PHP te le suggère: vérifie la syntaxe de ta requette !

ta requette, stocke la dans une variable:

$query = "INSERT ....";
echo $query."<br />";
$sql= mysql_query($query);
 
WRInaute discret
Fais des echos de toutes tes queries, puis tapes les à la main une par une: tu sauras laquelle ne passe pas, voire même pourquoi. Et remplace tes tags <fonts> par un peu de CSS, ça fait mal aux yeux ;)
 
WRInaute impliqué
Oula, je suis assez débutant dans ce millieu, ma requette, est que je souhaite qu'une table "Task" soit créé en contenant les infos que je regles avec la page
 
WRInaute impliqué
Slt,

y'a un truc bizarre non ?
peut etre que je ne suis pas bien reveillé mais la table que tu crée et celle ou tu fais l'insertion n'ont pas le meme nom et pas les memes champs ???
 
WRInaute impliqué
C'est fait expré, en faite je prend le modèle de Tasks pour ajouter de nouveaux champs à Task
Donc si quelqun a une idée, merci
 
WRInaute impliqué
Bon j'ai fait les echos, mais c'est toujours le meme message d'erreur quand je valide la requete :

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 ''http://ads.clicmanager.fr/' at line 1
 
WRInaute impliqué
Bah j'ecris
echo $query."<br />";
$sql= mysql_query($query);

en dessosu de ma querry mais rien ne s'affiche de plus a part mon message d'erreur
 
WRInaute discret
diaz06 a dit:
Code:
<?
if($act=='addvisit')
{
if(!mysql_query("CREATE TABLE task$code (
fnum int (10) unsigned NOT NULL auto_increment,
fip char (20) default NULL,
fid int (10),
fdate date default NULL,
ftime time default NULL,
PRIMARY KEY (fnum)
) TYPE=MyISAM;")) {echo"Ticket deja existant!"; exit;}
...

à remplacer par:
Code:
<?
if($act=='addvisit'){
$query01 = ""CREATE ...";
echo $query01;
if(!mysql_query($query01)) {echo"Ticket deja existant!"; exit;}
...

Va falloir apprendre à découper ton code de manière à pouvoir vérifier tes erreurs.
 
WRInaute impliqué
Merci beaucoup !

Voila ce qui m'affiche :

CREATE TABLE task1 ( fnum int (10) unsigned NOT NULL auto_increment, fip char (20) default NULL, fid int (10), fdate date default NULL, ftime time default NULL, PRIMARY KEY (fnum)Ticket deja existant!

Cela devrai vous aider d'avantage

Et la table crée est toujour vide.
 
WRInaute impliqué
Et si justement Spidetra, là est le but de ce script !
Je test ton code et j'édit
merci

EDIT :

Maitenant ça m'affiche
Code:
Parse error: syntax error, unexpected T_ECHO in /mnt/129/sdb/5/3/moneygold/admin/newptc.php on line 4

Et mon nouveau code est :

Code:
<?
if($act=='addvisit'){
$query01 =("CREATE TABLE task$code ( fnum int (10) unsigned NOT NULL auto_increment, fip char (20) default NULL, fid int (10), fdate date default NULL, ftime time default NULL, PRIMARY KEY (fnum), TYPE=MyISAM;")
echo $query01;
if(!mysql_query($query01)) {echo"Ticket deja existant!"; exit;}
 
WRInaute impliqué
J'ai fixé une limite de 10 scripts simultanés, donc de ce coté là pas de soucis. J'ai édité mon précedent message.

Merci de ton aide
 
WRInaute impliqué
Si sa peut vous aidé, voici la structure dans table "Task"

Code:
CREATE TABLE `tasks` (
  `fn` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `fcode` int(10) UNSIGNED DEFAULT '0',
  `fsize` int(10) UNSIGNED DEFAULT NULL,
  `furl` varchar(250) collate latin1_general_ci NOT NULL DEFAULT '0',
  `fsitename` varchar(100) collate latin1_general_ci DEFAULT NULL,
  `fnote` varchar(250) collate latin1_general_ci DEFAULT NULL,
  `fvisits` int(10) UNSIGNED DEFAULT '0',
  `fname` varchar(50) collate latin1_general_ci DEFAULT '0',
  `flog` varchar(50) collate latin1_general_ci DEFAULT '0',
  `fpass` varchar(50) collate latin1_general_ci DEFAULT '0',
  `startdate` date DEFAULT NULL,
  `enddate` date DEFAULT NULL,
  `prise` float DEFAULT NULL,
  `fpaytype` varchar(50) collate latin1_general_ci DEFAULT NULL,
  PRIMARY KEY  (`fn`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
 
WRInaute accro
question bete : tu la supprimes ta table une fois que tu fais tes tests ? parce que créer une table qui existe déjà , ca marche pas terrible
 
Discussions similaires
Haut