Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to input data into SQL table using PHP / Html from Registration form

Tags:

html

sql

php

mysql

I've tried so many different things and did many searches with no solution. I am trying to use an html form to submit data to a sql table.

Here is the code for my register.php file.

$con = mysqli_connect("localhost", "database_name", "password" "database_user");

if($con === false) {
    die("ERROR Could not Connect." . mysqli_connect_error());
}
$lasty= mysqli_real_escape_string($_POST['laz']);
$namez=mysqli_real_escape_string($_POST['namer']);
$emailAddr=mysqli_real_escape_string($_POST['emaila']);
$userName=mysqli_real_escape_string($_POST['usrn']);
$passwo=mysqli_real_escape_string($_POST['passw']);

$sqql = "INSERT INTO 'database_name' . table' (UserID, FirstName, LastName,   Email, UserName, Password) 
        VALUES (NULL, '$namez', '$lasty', '$emailAddr', '$userName', '$passwo')";


if (mysqli_query($con, $sqql)) {
    echo "Successfull";
} else {
    echo "Did not work!" . $con->error;
}

mysqli_close($con);

My HTML file is:

<form action="register.php" method="POST">
    First Name: <input type="text" name="namer"  placeholder="First Name"/> <br>
    Last Name: <input type='text' name='laz' /> <br>
    Email Address: <input type='text' name='emaila' /> <br>
    UserName: <input type='text' name='usrn' />
    Password: <input type='password' name='passw' />
    <input type='submit' id='button' value='Submit' name='login' />

</form>

I apologize in advance for the weirdly named variables, I was afraid that the other files would interrupt what I was trying to do here.

like image 989
Kacey Gambill Avatar asked Feb 25 '26 09:02

Kacey Gambill


2 Answers

mysqli_real_escape_string() need two parameter first one is your connection and other is your escapestring

mysqli_real_escape_string(connection,escapestring);

So add $con as first parameter into it

 mysqli_real_escape_string($con,$_POST['laz']);

Also wrap off quotes from table name. Use backtick like

INSERT INTO `database_name` . `table` 

To check error in your page use

ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

And Prevent you query by sql injection

like image 99
Saty Avatar answered Feb 26 '26 23:02

Saty


$con = mysqli_connect("localhost", "database_name", "password" "database_user"); //open connection

if (mysqli_connect_errno()) { //if connection failed
    die("Connect failed: ", mysqli_connect_error());
    exit();
}

$lasty      = mysqli_real_escape_string($con, $_POST['laz']); //added $con needs two parameter (connection, input)
$namez      = mysqli_real_escape_string($con, $_POST['namer']);
$emailAddr  = mysqli_real_escape_string($con, $_POST['emaila']);
$UserName   = mysqli_real_escape_string($con, $_POST['usrn']);
$password   = mysqli_real_escape_string($con, $_POST['passw']);



$sqql = "INSERT INTO `table_name`(UserID, FirstName, LastName,   Email, UserName, Password) 
VALUES (NULL, '$namez', '$lasty', '$emailAddr', '$userName', '$passwo')";


if (mysqli_query($con, $sqql)) {
    echo "Row inserted";
}else{
    die("Error: ". mysqli_sqlstate($con));
}

mysqli_close($con);
like image 40
aldrin27 Avatar answered Feb 26 '26 22:02

aldrin27



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!