Задать вопрос
@bob_meister

Проблема в SQL запросе с UPDATE?

Здравствуйте. Пытаюсь добавить в БД PHP код с ID поля в которую добавляю этот самый PHP код.
Запрос вот такой:
UPDATE `test_table` SET `id_to_col`= '<?php header("Location: <?=SITE_NAME;?>/index.php?action=view_ads&id='+test_table.id+'")?>' WHERE id = '4'

Суть в том, что я пытаюсь в PHP коде вставить ID поля в таблице.
И вместо того, чтобы вставить в поле текст вида:
<?php header("Location: <?=SITE_NAME;?>/index.php?action=view_ads&id=4")?>
там стоит только ID, т.е. 4.
Можете подсказать что и где я забыл поставить?
  • Вопрос задан
  • 161 просмотр
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
mahoho
@mahoho
Full stack certified PHP developer.
В MySQL нет оператора конкатенации, + - оператор сложения, вместо него есть функция CONCAT(). В данном случае вы получили 4, потому что MySQL привел все операнды к числам, и получилось 0 + 4 + 0 = 4.
Замените + на CONCAT():
UPDATE 
	`test_table` 
SET `id_to_col`= concat('<?php header("Location: <?=SITE_NAME;?>/index.php?action=view_ads&id=', test_table.id ,'")?>') 
WHERE id = '4'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы