Problème SQL après changement d'hébergeur

Résolu/Fermé
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
- 19 juil. 2008 à 18:07
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
- 20 juil. 2008 à 17:15
Bonjour,

J'ai changé d'hébergeur tout dernièrement.
J'ai juste changé mes paramètres donc dans mon code pour lié mon site à ma nouvelle base de données.

Toutefois, avec un code que j'avais déjà, il m'affiche maintenant une erreur:

Out of range value adjusted for column 'id' at row 1


Je comprends pas trop d'ou viens cette erreur.

Je vous copie mon code (sans doute pas parfait, j'ai pas cette prétention).

Inscription.php
<?php
// on teste si le visiteur a soumis le formulaire  
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') { 
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides 
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) { 
// on teste les deux mots de passe 
if ($_POST['pass'] != $_POST['pass_confirm']) { 
$erreur = 'Les 2 mots de passe sont différents.'; 
} 
else { 
	$mysql_host="########"; // le serveur
	$mysql_login="########"; // le login
	$mysql_pass="#######"; // mot de passe
	$mysql_dbnom="########"; // nom de la base de donnee
	mysql_connect ($mysql_host,$mysql_login,$mysql_pass);
	mysql_select_db ($mysql_dbnom);

$date = date("Y-m-d-H-i"); $mail = $_POST['mail']; $histoire = $_POST['histoire'];
// on recherche si ce login est déjà utilisé par un autre membre 
$sql = 'SELECT * FROM membres WHERE login="'.mysql_escape_string($_POST['login']).'"'; 
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
$data = mysql_fetch_array($req);
 
if ($data[0] == 0) { 
$sql = 'INSERT INTO membres VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'", "'.$mail.'", "'.$date.'", "", "'.$histoire.'", "Citoyen", "15000", "", "", "10")';  
$sql_2 = 'INSERT INTO inventaire(id,login) VALUES("","'.$_POST['login'].'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
mysql_query($sql_2) or die('Erreur SQL !'.$sql_2.'<br />'.mysql_error());

//Mail
$headers ='From: "nom"<'.$_POST['login'].'>'."\n";
$headers .='Reply-To: arthezius@free.fr'."\n";
$headers .='Content-Type: text/html; charset="utf-8"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$message ='<html><head><title>Inscription</title>
<style type="text/css">
<!--
.texte { font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 12px; }
.titre { font-family: Arial, Helvetica, sans-serif; font-size: 18px; font-weight: bold; }
.Style2 { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
A:link {COLOR: #000000; TEXT-DECORATION: none; FONT-SIZE: 12px; font-family: Arial, Helvetica, sans-serif}
A:visited {COLOR: #CC6600; TEXT-DECORATION: none; FONT-SIZE: 12px; font-family: Arial, Helvetica, sans-serif}
A:hover {COLOR: #CC0000; TEXT-DECORATION: underline; FONT-SIZE: 12px; font-family: Arial, Helvetica, sans-serif}
body { background-color: #006699; } --> </style>
</head><body><table width="500" align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"  style="border: 1px solid rgb(0, 0, 0);">
<tr><td><a href="http://arthezius.fr/spaceattack/"><img src="http://arthezius.fr/spaceattack/images/entetemail.jpg" border="0"  alt="Space Attack" title="Space Attack"/></a></td></tr>
<tr><td><table width="400" align="center" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr><td><br /><div align="center" class="titre">Merci de vous être inscrit sur Space Attack.</div><br>
<p class="texte" align="left"><strong>Vos identifiants sont :</strong><br> 
<blockquote><span class="texte">Login : '.$_POST['login'].'<br>
Mot de passe : '.$_POST['pass'].'</span></blockquote></p>
<p class="texte"><strong>Retrouvez-nous sur <a href="http://arthezius.fr/spaceattack/">Space Attack</a> !</strong></p><br /></td></tr></table></td></tr>
<tr><td><img src="http://arthezius.fr/spaceattack/images/piedmail.jpg" alt="Site by Arthezius" title="Design by Arthezius"/></td></tr></table>
<div align="center" class="Style2">Space Attack © 2008</div></body></html>';

mail(''.$_POST['mail'].'', 'Sujet', $message, $headers);

//header('Location: redirect.php');
	echo'<html><head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<style type="text/css"><!-- body { background-color: #006699; } --></style>
	</head>
	<body><table width="640" align="center" border="0" cellpadding="5" cellspacing="0" bgcolor="#CCCCCC">
	<tr><td><br /><br />
	<table width="500" align="center" border="0" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF"  style="border: 1px solid rgb(0, 0, 0);">
	<tr><td><p class="texte" align="center"><br />
	<span class="texte">Merci de vous êtres inscrit.<br />Un email viens de vous être envoyé vous confirmant votre inscription.<br><br><a href="index.php?page=connexion"> > Connexion</a></span>
			<br /><br /></td></tr></table><br /><br /></td></tr></table>';
//exit(); 
}

else { 
$erreur = 'Un membre possède déjà ce login.'; 
} 
} 
} 
else { 
$erreur = 'Au moins un des champs est vide.'; 
}  
}
else { include("formulaire.php"); }  
?>


A vrai dire je comprends pas trop d'où ça peut venir.
Je vous remercierai si vous pouviez m'aider.

Le lien: http://arthezius.fr/spaceattack/index.php?page=inscription

3 réponses

LeckyeNews
Messages postés
68
Date d'inscription
jeudi 29 mai 2008
Statut
Membre
Dernière intervention
31 juillet 2008
50
20 juil. 2008 à 00:12
Bonsoir,

Quand on change d'hebergeur, tout les codes changes me semble t-il!

LeckyeNews
0
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
473
20 juil. 2008 à 01:39
Ben j'ai changé les identifiants de connexion à ma base de données. J'avais fait un code pour l'installation des tables. Celui-ci s'est bien exécuté. J'ai vérifié via PHPmyadmin. Du coup y'a rien qui devrai ne pas allé...

Je vais faire un test en local pour voir déjà si y'a pas un problème avec ça.
0
HostOfSeraphim
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 623 > arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016

20 juil. 2008 à 13:03
Se connecter avec les anciens codes d'accès auraient provoqué une autre erreur que celle-ci.

Il semblerait que le problème vienne de ton champ ID autoincrémenté : la configuration du serveur actuel refuserait de "zapper" la valeur d'un champ autoincrémenté.

0
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
473 > HostOfSeraphim
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016

20 juil. 2008 à 13:48
Y aurai t-il un moyen de résoudre ce problème?
0
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
473 > arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016

20 juil. 2008 à 17:15
Visiblement ça marche qu'en MySQL 4. Avec la version 5 sur mon hébergeur ça me met ce message...

Donc problème résolu pour le moment.
0
HostOfSeraphim
Messages postés
6746
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 623
20 juil. 2008 à 00:14
Ca doit provenir d'une différence de configuration entre les deux serveurs MySQL.

Fais une recherche sur Google, j'ai l'impression qu'il y a pas mal de sujet avec cette erreur précise.

0
LeckyeNews
Messages postés
68
Date d'inscription
jeudi 29 mai 2008
Statut
Membre
Dernière intervention
31 juillet 2008
50
20 juil. 2008 à 00:15
Oui, tout a fait!!
0