Как перезаписать значений в базе данных

нужно не видеть, нужно его присылать)
 
я про этот код, что нужно было вставить выше
var_dump($_POST,$new_total_phones,$update_query);
die();

код после запуска скрипта ниже.

Код:
array(8) {
["id"]=>
string(3) "122"
["companies"]=>
string(5) "16017"
["price"]=>
string(3) "999"
["title"]=>
string(37) "База данных ЛПУ ЦФО-2"
["total_phones"]=>
string(5) "21627"
["total-phones"]=>
string(5) "21627"
["phones"]=>
string(5) "21627"
["email"]=>
string(4) "6817"
}
NULL
string(432) "UPDATE dle_post SET xfields='|poster|https://base-kompany.ru/uploads/posts/2020-07/1594420834_baza-lpu-i-pischevye-proizvodstva.jpg||database-update|2024-03-21||title-fulstor|||companies|16017||total-phones|22222||mobile-numbers|33333||unique-email|44444||site-compani|55555||skachat-demo|[attachment=781:kljuchevye-slova.xlsx]||price|999||in_stock|1||post_good_type|0||new_price_percent|11||otpravka|xxxxxxxxxxx' WHERE id='122'"
 
Забавно, данные приходят но не идут в переменную
дайте такой вывод

Код:
var_dump($_POST,$_POST['total-phones'],$db->real_escape_string($_POST['total-phones']),mysqli_real_escape_string($_POST['total-phones']),$new_total_phones,$update_query);
die();
 
Прошу прощения, но последний ответ не понял.
 
ну поменяйте код что я давал на новый и опять ответ сюда пришлите. и какая версия php?
 
Код:
array(6) {
["id"]=>
string(3) "122"
["companies"]=>
string(5) "16017"
["price"]=>
string(3) "999"
["title"]=>
string(37) "База данных строительных компаний"
["total_phones"]=>
string(5) "21627"
["email"]=>
string(4) "6817"
}
NULL
string(0) ""
NULL
NULL
string(432) "UPDATE dle_post SET xfields='|poster|https://base-kompany.ru/uploads/posts/2020-07/1594420834_baza-lpu-i-pischevye-proizvodstva.jpg||database-update|2024-03-21||title-fulstor|||companies|16017||total-phones|22222||mobile-numbers|33333||unique-email|44444||site-compani|55555||skachat-demo|[attachment=781:kljuchevye-slova.xlsx]||price|999||in_stock|1||post_good_type|0||new_price_percent|11||otpravka|xxxxxxxxxxx' WHERE id='122'"
 
у вас из запроса пропало поле total-phones
давайте тогда еще вариант

Код:
var_dump($_POST,$_POST['total_phones'],$db->real_escape_string($_POST['total_phones']),$_POST['total-phones'],$db->real_escape_string($_POST['total-phones']),mysqli_real_escape_string($_POST['total-phones']),$new_total_phones,$update_query);
die();
 
С другим кодом

Код:
array(6) {
["id"]=>
string(3) "122"
["companies"]=>
string(5) "16017"
["price"]=>
string(3) "999"
["title"]=>
string(37) "База данных ЛПУ ЦФО-2"
["total_phones"]=>
string(5) "21627"
["email"]=>
string(4) "6817"
}
string(5) "21627"
string(5) "21627"
NULL
string(0) ""
NULL
NULL
string(432) "UPDATE dle_post SET xfields='|poster|https://base-kompany.ru/uploads/posts/2020-07/1594420834_baza-lpu-i-pischevye-proizvodstva.jpg||database-update|2024-03-21||title-fulstor|||companies|16017||total-phones|22222||mobile-numbers|33333||unique-email|44444||site-compani|55555||skachat-demo|[attachment=781:kljuchevye-slova.xlsx]||price|999||in_stock|1||post_good_type|0||new_price_percent|11||otpravka|xxxxxxxxxxx' WHERE id='122'"
 
Код:
$new_total_phones = $db->real_escape_string($_POST['total-phones']);

заменить на

$new_total_phones = $db->real_escape_string($_POST['total_phones']);

и удалить все что добавляли
должно работать

я таки сразу и не вспомнил что дефисы в ключи массивов нельзя)
 
так тоже доп.поле "total_phones" не перезаписывается. я заметил, что где доп.поле например из одного слова например "price" или "companies", то переписываются значения, а где из двух слов состоит например "total_phones" или "total-phones", то не перезаписываются значения. может такие через переменную сделать. например на входе total_phones, а на выходе просто "phones" с синтаксисом не силен.
 
Назад
Сверху