У меня есть таблица «фьюзер» в базе данных с соответствующими полями. У меня есть .php-форма с областью ввода полей. Я попробовал функцию INPUT INTO & DUPLICATEKEY UPDATE, но, похоже, она получает некоторую ошибку, например ERRORINSERTINTO 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
ERRORINSERTINTO 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
Мой код выглядит следующим образом:
<?php include('profile.php'); ?> <?php $servername = "localhost"; $dbusername = "root"; $dbpassword = "*******"; $dbname = "the_database"; $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $aboutme = $_POST['aboutme']; $subject1 = $_POST['subject1']; $subject2 = $_POST['subject2']; $subject3 = $_POST['subject3']; $country = $_POST['country']; $birthday = $_POST['birthday']; $occupation = $_POST['occupation']; $mobile = $_POST['mobile']; $websiteurl = $_POST['websiteurl']; $conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO fuser (firstname, lastname, aboutme, subject1, subject2, subject3, country, birthday, occupation, mobile, websiteurl) VALUES ('$firstname', '$lastname', '$aboutme', '$subject1', '$subject2', '$subject3', '$country', '$birthday', '$occupation', '$mobile', '$websiteurl') ON DUPLICATE KEY UPDATE firstname = VALUES('$firstname'), lastname = VALUES('$lastname'), aboutme = VALUES('$aboutme'), subject1 = VALUES('$subject1'), subject2 = VALUES('$subject2'), subject3 = VALUES('$subject3'), country = VALUES('$country'), birthday = VALUES('$birthday'), occupation = VALUES('$occupation'), mobile = VALUES('$mobile'), websiteurl = VALUES('$websiteurl')"; if ($conn->query($sql) === TRUE) { echo '<script language="javascript">'; echo 'alert("Your details have been updated succesfully..")'; echo '</script>'; echo '<a href="profile.php"></a>'; } else { echo "ERROR" . $sql . "<br>" . $conn->error; } $conn->close(); ?>
Любые предложения оцениваются ..
Мой плохой, @furrie прав. Код должен быть
ON DUPLICATE KEY UPDATE firstname = VALUES(firstname), lastname = VALUES(lastname), aboutme = VALUES(aboutme), subject1 = VALUES(subject1), subject2 = VALUES(subject2), subject3 = VALUES(subject3), country = VALUES(country), birthday = VALUES(birthday), occupation = VALUES(occupation), mobile = VALUES(mobile), websiteurl = VALUES(websiteurl)";
теперь его работающая как драгоценный камень …
Ничего … Я действительно должен был использовать условие UPDATE-SET, а не это .. в любом случае спасибо всем за ваше время .. К этому я только что чему-то научился, мы не можем использовать условие WHERE с INSERT INTO …