Смотрим код:
$total = 0;
foreach(...) {
$total += $item;
}
Перед тобой именно ЦЕНА, которая суммируется, а не массив. Как может быть $total = 0; массивом? Никак :)
А я не использую prepare, мне нравится вручную проставлять приведение к типу int, либо экранировать строки. Твой абсолютизм не нравится, хотя не ошибка всё же.
___________________________
В целом очень забавная задача, напичкали ошибок столько, что можно писать их и писать.
1) Нарушен синтаксис кода, выглядит очень криво!
2) Используется $GLOBALS в методе :) Используется $_GET тоже.
3) Добавляется предмет в корзину до проверок ещё: Basket::addItem.
4) Путаница с именами Basket , именно строчка 25 не нравится, хотя не ошибка.
5) Использование mysql_query в чистом виде - гроза безопасности. Отсутствует логирование ошибок как таковых, их уведомления программиста и т.д.
Несколько пунктов спорных, то же наличие print прям в методе и т.д. и т.п. Но их не стал включать по той причине, что бывают исключения из правил.
___________________________
В итоге ты увидел синтаксические ошибки, что говорит о том, что ты "начинающий программист", а вот если капнуть глубже, то принципов построения классов и приложений отсутствует, поэтому чуть выше чем "помощник юниора" уже не берут.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).