The following code is supposed to insert values into a database:
$sql = "INSERT INTO savedtimes (username, session, value3, value4, value5)
VALUES ('$user', '$q', '$value3', '$value4', '$value5')";
mysqli_query($db, $sql);
It works, but the only problem is that the row is getting inserted twice (every time!).
So, for example, I am inseting the values 'myUsername', '1', 'foo', 'bar', 'fubar', the values get stored in the databse like:
| id | username | session | value3 | value4 | value 5|
| 1 |myUsername| 1 | foo | bar | fubar |
| 2 |myUsername| 1 | foo | bar | fubar |
I also tried changing the browser, but that has no effect. I noticed that there was another question with the same problem, but no answer. Can somebody please help me?
Edit:
I have added some more of my code as requested by some of you below:
session_start();
$q = $_GET['q'];
$user = $_SESSION['username'];
$db = mysqli_connect('localhost', 'username', 'password', 'databaseName');
$sql = "SELECT * FROM savedtimes WHERE username = '$user' AND session = '$q'";
$result = mysqli_query($db, $sql);
if (mysqli_num_rows($result) == 1) {
$sql2 = "SELECT time FROM savedtimes WHERE username = '$user' AND session = '$q'";
$updateRequired = mysqli_query($db, $sql2);
if ($updateRequired == "-:--.---") {
$query = "UPDATE savedtimes
SET value3 = '$value3', value4 = '$value5'
WHERE session = '$q'";
mysqli_query($db, $query);
}
else {
$insert = true;
}
}
if ((mysqli_num_rows($result) > 1) || ($insert == true)) {
$sql = "INSERT INTO savedtimes (username, session, value3, value4, value5)
VALUES ('$user', '$q', '$value3', '$value4', '$value5')";
mysqli_query($db, $sql);
}