I am making a form where you can insert, update and delete your data in database welkom
from phpmyadmin. This is my file Formmenu.php
. PS: This code contains Dutch language.
PHP
<?php
if ( ! empty($_POST))
{
$mysqli = new mysqli('localhost','root','','welkom');
if ($mysqli ->connect_error)
{
die('connect error: '. $mysqli->connect_errno . ': ' . $mysqli->connect_error);
}
if (isset($_POST['insert'])) {
$sql = "INSERT INTO abdijbieren (naam, prijs) VALUES ('{$mysqli->real_escape_string($_POST['naam'])}','{$mysqli->real_escape_string($_POST['prijs'])}');";
} else if (isset($_POST['delete'])) {
$sql = "DELETE FROM abdijbieren WHERE naam ='{$mysqli->real_escape_string($_POST['naam'])}';";
}
else if (isset($_POST['update'])) {
$sql = "UPDATE abdijbieren SET id='{$mysqli->real_escape_string($_POST['id'])}' WHERE naam='{$mysqli->real_escape_string($_POST['naam'])}'; UPDATE abdijbieren SET prijs='{$mysqli->real_escape_string($_POST['prijs'])}' WHERE naam='{$mysqli->real_escape_string($_POST['naam'])}';";
}
else {
/*nothing*/
}
$insert = $mysqli->query($sql);
if ($insert)
{
echo "Success! Keer terug naar de volgende pagina om te updaten.";
}else
{
die("Error: {$mysqli->errno} : {$mysqli->error}");
}
$mysqli->close();
}
?>
Form
<form method="post" action="">
<input name="naam" type="text" placeholder="naam drank" required><br>
<input name="prijs" type="text" placeholder="prijs" required><br>
<input name="id" type="text" placeholder="tracking number*"><br><br>
<input type="submit" name="insert" value="insert">
<input type="submit" name="delete" value="delete">
<input type="submit" name="update" value="update"><br>
*= niet nodig bij "insert".
</form>
This is what I am focusing on:
$sql = "UPDATE abdijbieren SET id='{$mysqli->real_escape_string($_POST['id'])}' WHERE naam='{$mysqli->real_escape_string($_POST['naam'])}'; UPDATE abdijbieren SET prijs='{$mysqli->real_escape_string($_POST['prijs'])}' WHERE naam='{$mysqli->real_escape_string($_POST['naam'])}';";
When I tried the code I recieved error #1064 after submitting the form. The error echoes;
Error: 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UPDATE abdijbieren SET prijs='5.00 EUR' WHERE id='9'; UPDATE a' at line 2
I wasn't sure if it is a typo or the real_escape_string. I tried looking for a solution with this:
The issue at the second link remained unsolved. I checked my code and it seemed fine, but after recieving error #1064 I am confused with the code. I need help with this issue.
Thank you.