Таблица обновления PHP mySQLi

В настоящее время я использую PHP для получения некоторых из бэкэнд и вставки в базу данных с помощью mysqli. Ниже приведен код:

$conn = new mysqli('localhost', 'username', 'pwd', 'db'); // check connection if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } $sql = "INSERT INTO `birthday` (`birthday`) VALUES ('$birthday')"; // Performs the $sql query and get the auto ID if ($conn->query($sql) === TRUE) { echo 'The auto ID is: '. $conn->insert_id; } else { echo 'Error: '. $conn->error; } 

Теперь, если я собираюсь получить информацию снова, как мне обновить это значение? В настоящее время он создаст еще одну строку и снова добавит значение.

Заранее спасибо

То, что я обычно делаю, это что-то вроде этого.

Кроме того, вам нужно убедиться, что у вас есть поле или что-то уникальное для этой записи. В принципе, он всегда будет INSERT так, как он написан, поскольку мы просто проверяем одно значение (день рождения)

Вот пример

 $conn = new mysqli('localhost', 'username', 'pwd', 'db'); // check connection if (mysqli_connect_errno()) { exit('Connect failed: '. mysqli_connect_error()); } // check to see if the value you are entering is already there $result = $conn->query("SELECT * FROM birthday WHERE name='Joe'"); if ($result->num_rows > 0){ // this person already has a b-day saved, update it $conn->query("UPDATE birthday SET birthday = '$birthday' WHERE name = 'Joe'"); }else{ // this person is not in the DB, create a new ecord $conn->query("INSERT INTO `birthday` (`birthday`,`name`) VALUES ('$birthday','Joe')"); } 

Это должно сработать. Но скажу, что я сбиваю с толку, что у вас есть имя db, имя таблицы и имя переменной, заданное как «день рождения»,

 $sql = "INSERT INTO `birthday` (`birthday`) VALUES ('$birthday') ON DUPLICATE KEY UPDATE birthday = $birthday;";