Если вам надо обойтись без других языков, то можно так. Хотя вариант с subselect - медленный.
SELECT t.`name`, SUM(t.`money`) as `cash`, (SELECT SUM(`money`) FROM `table` WHERE `paymentType`='credit' AND `name`=t.`name`) as `credit` FROM `table` t WHERE t.`paymenType`='cash' GROUP BY t.`name`
Если бы вы почитали мануал по функции date, то знали бы, что второй параметр - это unix timestamp. А дальше, вы бы легко нашли нужную вам функцию time() в php, которая и генерирует эту метку. Причем с помощью функции mktime можно генерировать эту метку для нужной даты.
Наверное дело в синтаксисе запроса и внутреннем парсинге mysql. Обратите внимание - в запросе insert вы вставляете артикул как строку в кавычках, а в запросе update - уже как число, без кавычек.
Вам же прямо пишут, что $result имеет тип boolean, а точнее он там будет false. Это значит, что в запросе ошибка.
В вашем случае, напишите после mysql_query, echo mysql_error() - он выведет, что не так.