Här är ett mycket enkelt fungerande exempel på din kod med förberedda satser.
Notera frågetecknen på frågan och bind_param
, s
betyder sträng och i
betyder heltal, du kan läsa mer här stark>
.
Så ssi
betyder att vi kommer att ta emot 2 strängar och 1 heltalspost.
<?php
// Your database info
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';
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 table1 (Fname, LName, Age) VALUES (?,?,?)";
if (!$stmt = $con->prepare($sql))
die('Query failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->bind_param('ssi',$_POST['fname'],$_POST['lname'],$_POST['age']))
die('Bind Param failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->execute())
die('Insert Error ' . $con->error);
echo "Record added";
$stmt->close();
$con->close();
}
?>
<html>
<body>
<form action="createconnection.php" method="post">
Firstname : <input type="text", name="fname"> </br>
Lastname : <input type="test" name="lname"> </br>
Age : <input type="text" name="age"></br>
<input type="submit">
</form>
</body>
</html>
I fall här är SQL-tabellen som används:
CREATE TABLE IF NOT EXISTS `table1` (
`Fname` varchar(50) NOT NULL,
`LName` varchar(50) NOT NULL,
`Age` int(3) NOT NULL
);