Ashish Bharwal Ashish Bharwal - 7 months ago 15
PHP Question

exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2147483647' for key 'contact_no'

I am facing a problem whenever i tried to fill my form and field Contact no & Phone no it automatically generate its own static no. every time and as i had given "UNIQUE" to my key 'Contact_no' it generates error this


"exception 'PDOException' with message 'SQLSTATE[23000]: Integrity
constraint violation: 1062 Duplicate entry '2147483647' for key
'contact_no'' in C:\wamp\www\ipsem6\connectivity.php:34 Stack trace:

0 C:\wamp\www\ipsem6\connectivity.php(34): PDO->exec('INSERT INTO `a8...') #1 {main}"




Below is my code of my register.php page

<html>
<head>

<title>Register</title>
<style>

.content:before {
content: "";
position: fixed;
left:34px;
right:0;
top:90px;
bottom:20px;
z-index: -1;

display: block;
background-image: url('assets/img/cd.JPG');
width: 1281px;
height: 8000px;


-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}

.content {
overflow: auto;
position: static;

left: 0;
right: 0;
z-index: 0;
margin-left: 0;
margin-right: 0;
}

</style>
<link rel="STYLESHEET" type="text/css" href="style/fg_membersite.css" />
<script type='text/javascript' src='scripts/gen_validatorv31.js'></script>
<link rel="STYLESHEET" type="text/css" href="style/pwdwidget.css" />
<script src="scripts/pwdwidget.js" type="text/javascript"></script>
<link rel="stylesheet" href="style/style1.css" type="text/css" />
</head>
<body class="body" >
<div class="content">
<header class="mainheader" >

<div class="canmenu">

<div class="left mtop10"><a href="http://www.chitkara.edu.in/" title="" rel="home">
<img src="assets/img/chitkara_logo.png" /></a>
</div>
<div id="cssmenu">
<nav><ul>
<li><a href="index.html"><span><b>Home</b></span></a></li>

<li><a href="#"><span><b>About Us</b></span></a></li>

<li><a href="login.html"><span><b>Login</b></span></a></li>

<li class="active"><a href="register.php"><span><b>Register</b> </span></a></li>

<li class="last"><a href=""><span><b>Contact us</b></span></a></li>
</ul></nav>
</div>

<!--<div class="can-menu">
</div>-->
</div>
</div>
<!-- Form Code Start -->

<center><div id='fg_membersite' >
<form id='register' method='post' action="connectivity.php" accept-charset='UTF-8' >

<br>
<br>


<fieldset >

<legend><h1><font size="40" color="BLACK"><b><center><img src="assets/img/canfinal1.jpg" height="100px" width="150px"/><font color="WHITE">Register</font></b></font></h1></legend>

<input type='hidden' name='submitted' id='submitted' value='1'/>

<div class='short_explanation'><font size="2" color="RED"><b>* required fields</b></font></div>
<input type='text' class='spmhidip' />

<div><span class='error'> </span></div>
<div class='container'>
<label for='name' ><font color="WHITE">Your Full Name<font color="RED"><b>*</b></font> :</label><br/>
<input type='text' name='name' id='name' maxlength="50" /><br/>
<span id='register_name_errorloc' class='error'></span>
</div>
<div class='container'>
<label for='email' ><font color="WHITE">Email Address<font color="RED"><b>*</b></font> :</label><br/>
<input type='text' name='email' id='email' maxlength="50" /><br/>
<span id='register_email_errorloc' class='error'></span>
</div>
<div class='container'>
<label for='username' ><font color="WHITE">UserName/University Id<font color="RED"><b>*</b></font> :</label><br/>
<input type='text' name='username' id='username' maxlength="50" /><br/>
<span id='register_username_errorloc' class='error'></span>
</div>

<div class='container'>
<label for='contacts1' ><font color="WHITE">Contact No.<font color="RED"><b>*</b></font> :</label><br/>
<input type='phone' name='contacts1' id='contacts1' /><br/>

</div>

<div class='container'>
<label for='contact2' ><font color="WHITE">Phone No. :</label><br/>
<input type='tel' name='contact2' id='contact2' /><br/>

</div>


<div class='container' >
<label for='password' ><font color="WHITE">Password<font color="RED"><b>*</b></font> :</label><br/>
<div class='pwdwidgetdiv' id='thepwddiv' ></div>
<noscript>
<input type='password' name='password' id='password' maxlength="50" />
</noscript>
<div id='register_password_errorloc' class='error' style='clear:both'></div>
</div>





<div class='container'>
<label for='date' ><font color="WHITE">Date of Birth<font color="RED"><b>*</b></font> :</label><br/>
<input type='date' name='dats' id='dats' maxlength="50" /><br/>
<span id='register_username_errorloc' class='error'></span>
</div>

<div class='container' >
<label><font color="WHITE">Role<font color="RED"><b>*</b></font> :</label>
<select name='rle' id='rle' maxlength="50" >
<option value="Alumni">Alumni</option>
<option value="Mentor">Mentor</option>
<option value="H.O.D">H.O.D</option>

</select>
<span id='register_username_errorloc' class='error'></span>


</div>

<div id="q1" class="form-group">
<label><font color="WHITE">Gender<font color="RED"><b>*</b></font> :</label>
<select class="form-control" id="s" name="s">
<option value="Male" >Male</option>
<option value="Female">Female</option>
</div>
</select>



<div class='container'>
<input type='submit' name='Submit' value='Submit' color="blue" />
</div>

</fieldset>
</form>
<!-- client-side Form Validations:
Uses the excellent form validation script from JavaScript-coder.com-->

<script type='text/javascript'>
// <![CDATA
var pwdwidget = new PasswordWidget('thepwddiv','password');
pwdwidget.MakePWDWidget();

var frmvalidator = new Validator("register");
frmvalidator.EnableOnPageErrorDisplay();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("name","req","Please provide your name");

frmvalidator.addValidation("email","req","Please provide your email address");



frmvalidator.addValidation("username","req","Please provide your University ID.");

frmvalidator.addValidation("password","req","Please provide a password");

frmvalidator.addValidation("date","req","Please provide your D.O.B");

// ]]>
</script>

<!--
Form Code End
-->

</div>
</body>

</html>


Below is my code of connectivity.php

<?php
// DATABASE CONNECTIVITY & UPLOADING ---->
$connection_error = 'Could Not Connect to server.';
$connection_error2 = 'Could Not Connect to database.';

$host = 'localhost';
$user = 'root';
$password = '';
$database = 'a8172058_portal';
$dsn = "mysql:host=$host;dbname=$database";
try {
$conn = new PDO( $dsn, $user, $password );
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);




$name=$_POST["name"];
$email=$_POST["email"];
$username=$_POST['username'];
$pass=$_POST['password'];
$contactno=$_POST['contacts1'];
$cont2=$_POST['contact2'];
$dob=$_POST['dats'];
$role=$_POST['rle'];
$gender=$_POST['s'];




$sql= "INSERT INTO `a8172058_portal`.`users` (email,univ_id,password,full_name,role,gender,contact_no1,contact_no2,dob)
VALUES ('$email','$username','$pass','$name','$role','$gender','$contactno','$cont2','$dob');";

$conn->exec($sql);
print "<meta http-equiv=\"refresh\" content=\"0;URL=form1.html\">";
}
catch(PDOException $e)
{
print ($e);
//print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">";
}

$conn = null;




?>


Please Help me solving this Problem . My DM is
enter image description here

No matter what value i give it always give that static value marked in image below.
enter image description here

Answer

The number 2147483647 is the biggest ten-digit positive integer that can be stored in a 4 byte integer field.

You should use a larger field type like BIGINT although for this particular case I recommend VARCHAR. It's a phone number not an actual integer you need to do math with.

P.S: You should really use pepared statements to protect your application from threats like SQL Injection. And you should always hash the password before inserting it in the database.

Comments