2016-07-30 3 views
-2

Mein PHP-Code ist ... Der Code funktioniert gut Informationen wird auf der Datenbank gespeichert, aber das einzige Problem ist, dass The mob_number sowie pmob_number werden im Datenbankserver als 2147483647 gespeichert, egal welche 10-stellige Zahl ich im Formular gebe. Bitte helfen Sie mir .thanks im Voraus :-)Ich versuche Handy-Nummer in die Datenbank einfügen, aber anstelle der Handynummer ist es gespeichert als 2147483647

 <?php 
     $servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $conn = mysqli_connect ($servername , $username , $password) or die("unable to connect to host"); 
     $sql = mysqli_select_db ($conn,'vcet') or die("unable to connect to database"); 




//code to insert into db... 
$user_name=$_POST['user_name']; 
$roll_number=$_POST['roll_number']; 
$user_batch=$_POST['user_batch']; 
$user_from=$_POST['user_from']; 
$user_year=$_POST['user_year']; 
$user_level=$_POST['user_level']; 
$email_id=$_POST['email_id']; 
$F_name=$_POST['F_name']; 
$m_name=$_POST['m_name']; 
$g_name=$_POST['g_name']; 
$mob_number=$_POST['mob_number']; 
$addressline1=$_POST['addressline1']; 
$addressline2=$_POST['addressline2']; 
$city=$_POST['city']; 
$pmob_number=$_POST['pmob_number']; 







$land_number=$_POST['land_number']; 
$cutoff=$_POST['cutoff']; 
$dept=$_POST['dept']; 
$medium = $_POST['medium']; 
$locality=$_POST['locality']; 
$intrest=$_POST['intrest']; 
$scholar=$_POST['scholar']; 
$income=$_POST['income']; 
$user_caste=$_POST['user_caste']; 
$user_admit=$_POST['user_admit']; 
$user_stay=$_POST['user_stay']; 



if (!filter_var($email_id, FILTER_VALIDATE_EMAIL)) { 
    echo "Invalid email format"; 
} else 
{ 
    //executes the rest of the code 





    if(!preg_match('/^\d{10}$/',$pmob_number)) // phone number is valid 
    { 

     echo "Phone number invalid !"; 

    } 
    else // phone number is valid 
    { 














     $msg=""; 


     $num_length = strlen((string)$pmob_number); 

     if($num_length!=10){ 
      echo "Enter a valid number"; 


     }else 
{ 





$user_info = "INSERT INTO studentinfo"."  (user_name,roll_number,user_batch,user_from,user_year,user_level,email_id,F_name,m_name,g_name,mob_number,addressline1,addressline2,city,pmob_number,land_number,cutoff,dept,medium,locality,intrest,scholar,income,user_caste,user_admit, user_stay)". "VALUES ('$user_name', '$roll_number','$user_batch','$user_from','$user_year','$user_level','$email_id','$F_name','$m_name','$g_name','".$mob_number."','$addressline1','$addressline2','$city','$pmob_number','$land_number','$cutoff','$dept','$medium','$locality','$intrest','$scholar','$income','$user_caste','$user_admit','$user_stay')"; 
if (!mysqli_query($conn,$user_info)) { die('Error: ' . mysqli_error($conn)); } echo "Your information was added to the database."; 
mysqli_close($conn); 
} 

} 

} 
?> 
+2

Es scheinen würde, dass die Art der „Nummer“ ist eine 4-Byte-Ganzzahl irgendwo auf dem Weg, anstelle einer Zeichenfolge. –

+0

eine klare Probe zeigen – scaisEdge

+1

Einige sinnvolle Code-Einzug wäre eine gute Idee. Es hilft uns, den Code zu lesen und, was noch wichtiger ist, es wird Ihnen helfen ** Sie debuggen Ihren Code ** [Werfen Sie einen Blick auf einen Kodierungsstandard] (http://www.php-fig.org/psr/psr-2/) zu Ihrem eigenen Vorteil. Sie werden möglicherweise aufgefordert, diesen Code in ein paar Wochen/Monaten zu ändern, und Sie werden mir am Ende danken. – RiggsFolly

Antwort

2

I`m versuchen Handynummer in die Datenbank einfügen, sondern der Handynummer als 2147483647

gespeichert Es sieht Wie du hast dein Datenbankschema falsch verstanden. Stellen Sie sicher, Spalten Sie Ihre Telefonnummer Daten in setzen eher von String Typ (dh VARCHAR) und nicht numerisch (nicht INTEGER, BIGINT, DECIMAL etc)

+0

Vielen Dank, dass Sie so lange darauf festsitzen. @ Marcin –