$sql = "UPDATE SMF SET ". $NameDefect ." = '$DefectValue' WHERE Number = '$Number'";
База обрабатывает этот запрос и обновляет данные, но есть ошибка
Error updating record: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= '' WHERE Number = ''' at line 1
Понимаю что где то напортачил с синтаксисом, но ни как не могу найти где?
<?php
$servername = "localhost";
$username = "e96478";
$password = "1111!";
$dbname = "1111";
if(isset($_REQUEST['Number']) && isset($_REQUEST['NameDefect']) && isset($_REQUEST['DefectValue']))
{
$Number = mysql_escape_string ($_REQUEST['Number']);
$NameDefect = mysql_escape_string ($_REQUEST['NameDefect']);
$DefectValue = mysql_escape_string ($_REQUEST['DefectValue']);
}
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE SMF SET '" . $NameDefect . "' = '" . $DefectValue . "' WHERE Number = '" . $Number . "'";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
{}
$conn->close();
?>
Теперь выглядит так
<?php
$servername = "localhost";
$username = "e96478";
$password = "1111!";
$dbname = "1111";
if(isset($_REQUEST['Number']) && isset($_REQUEST['NameDefect']) && isset($_REQUEST['DefectValue']))
{
$Number = mysql_escape_string ($_REQUEST['Number']);
$NameDefect = mysql_escape_string ($_REQUEST['NameDefect']);
$DefectValue = mysql_escape_string ($_REQUEST['DefectValue']);
}
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = <<<SQL
UPDATE SMF
SET {$NameDefect} = '$DefectValue'
WHERE Number = $Number
SQL;
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
{}
$conn->close();
?>
$DefectValue, о чём и говорит ошибка говоря про''– Алексей Шиманский Sep 16 '22 at 09:43mysql_escape_stringи ещё раз: возьми отладку, посмотри что у тебя происходит, какие переменные какие значения применяют и какая итоговая сторка запроса у тебя получается. – Алексей Шиманский Sep 16 '22 at 11:46