Как избежать js инъекции?
Это называется XSS и никакого отношения к PDO и вообще к БД не имеет. Эта атака хорошо известна и способы борьбы с ней описаны во множестве статей, выбирайте любую.
Собственно, в блоке "Продаваемый товар" у вас, очевидно, уже всё сделано правильно, раз там скрипт выводится текстом, а не исполняется.
<script>alert('xxx');</script>

Должно в базе данных храниться как 

&lt;script&gt;alert('xxx');&lt;/script&gt;
Чтобы потом при выводе скрипт не выполнялся

Для этого перед добавлением в Базу Данных строки используйте функцию фильтра

function filter($m){ 
	if(!is_numeric($m)){
		$m = htmlspecialchars($m);
	} else {
		$m = intval($m);
	}
	return $m;
} /* FILTER */