I am new to php and mysql and seem to be running into an issue while trying to insert data into a mysql table.
I have a insert.php page with the following below
<?php
$db_host = 'hostname';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'databasename';
if (!empty($_POST))
{
$con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if ($con->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
$sql = "INSERT INTO train2015 (emp_num, name, supervisor) VALUES (?,?,?)";
if (!$stmt = $con->prepare($sql))
die('Query failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->bind_param('ssi',$_POST['emp_num'],$_POST['name'],$_POST['supervisor']))
die('Bind Param failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->execute())
die('Insert Error ' . $con->error);
echo "Record added";
$stmt->close();
$con->close();
}
?>
I then have add.php page
<?php
include('includes/insert.php');
?>
<html>
<body>
<form action="includes/insert.php" method="post">
Employee Number : <input type="text", name="emp_num"> </br>
Full Name : <input type="test" name="name"> </br>
Supervisor Name : <input type="text" name="supervisor"></br>
<input type="submit">
</form>
</body>
</html>
Everything seems to work fine, I hit the submit button, I see the Record added, go and check the table and I see the emp_num is fine, the name field is fine, but the supervisor always has a 0 in it. I seem to be missing something.
Thanks in advance for your help.
As requested:
supervisor's most likely a string, so do sss - plus that comma in type="text", get rid of that.
You also need to check the column's type if it's an int or varchar.
Strings are varchar. Check the length also.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With