У меня есть этот запрос, это один работают нормальноКак вычесть в базе данных MySQL одно значение таблицы на основе другого значения таблицы?
$qu= "UPDATE comp_controller SET num_comp=(num_comp-(SELECT num_comp FROM alloted_comp WHERE comp_name="Arduino uno")) WHERE comp_name ="Arduino uno"";
я использовал предварительно определенное значение в COMP_NAME, но должен получить COMP_NAME из следующих запросов
$sql="INSERT INTO alloted_comp (comp_type,comp_name,num_comp)VALUES ('$_POST[comp_type]','$_POST[comp_name]','$_POST[num_comp]') ";
как получить значение вставки в первом запросе от второй запрос
Update:
I modifie d мой код
$type = isset($_POST['comp_type'])? $_POST['comp_type'] : '';
$name = isset($_POST['comp_name'])? $_POST['comp_name'] :'';
$comp = isset($_POST['num_comp]'])? $_POST['num_comp]'] :'';
$sql="INSERT INTO alloted_comp (comp_type,comp_name,num_comp)
VALUES ('$_POST[comp_type]','$_POST[comp_name]',$_POST[num_comp])
ON DUPLICATE KEY UPDATE num_comp=num_comp+'$_POST[num_comp]'";
$qu= mysql_query("UPDATE comp_controller SET num_comp=
(num_comp-(SELECTnum_comp FROM alloted_comp
WHERE comp_name='$name'))WHERE comp_name ='$name' ");
Теперь я столкнулся с новой проблемой подстанции, если я вхожу num_comp 1, он будет вычитанием со значением в 2 или 3 или несколько раз со значением мусора
Этот код уязвим для инъекций SQL –
использовать подготовленные запросы или mysqli_real_escape_string для исключения переменных. –
@HikmatSijapati Спасибо за ваш ответ, работая отлично, но проблема с вычитанием. Если я введу num_comp 1, он вычитает со значением как 2 или 3, или несколько раз num_comp в comp_controller становится 0 – kiran