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

Résolu
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

LeckyeNews Messages postés 68 Date d'inscription   Statut Membre Dernière intervention   50
 
Bonsoir,

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

LeckyeNews
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
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 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608 > arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   475 > HostOfSeraphim Messages postés 6750 Date d'inscription   Statut Contributeur Dernière intervention  
 
Y aurai t-il un moyen de résoudre ce problème?
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475 > arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention  
 
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 6750 Date d'inscription   Statut Contributeur Dernière intervention   1 608
 
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   Statut Membre Dernière intervention   50
 
Oui, tout a fait!!
0