PHP, MySQL - Промяна на колона в базата данни, само ако полето е променено
Имам HTML форма с 70+ полета за промяна на колони в таблица. HTML формата съдържа текстови, числови и select полета. Когато редактирам някое от полетата и изпратя формата, полето което съм променил се update-ва в базата данни, но другите се презаписват с нули. Как бих могъл да направя проверка с PHP кое/кои от полето/полетата е/са попълнено/попълнени за да може да се актуализира само тяхната информация?
Пробвах със isset, !empty и т.н., но явно нещо аз бъркам в синтаксиса.
Другият вариант е със javascript още при зареждане на страницата да попълня полетата, за които вече съществува стойност в базата данни, така при събмит ако полето не е променено ще се актуализира със същата информация. Как би могло да стане това?
Казваш, че с този код:
директно гърмя ако някой иска да хакне сайта с sql injection.
Ами ако всички файлове, чрез които правя заявки към базата данни са в админ панел, който от своя страна изисква user и парола, възможно ли е отново да се хакне сайта ако приемем, че достъпът до админ панела е невъзможен?
Няма никакво значение дали имаш админ панел с парола. Който ти хаква базата, ще я хаква през GET-a (а по принцип може даже и през POST-a). Правилото е просто - ако вкарваш в базата променлива, която някой може да вкара от някъде в сайта ти - GET, POST, трябва да я минеш през mysql _escape_string. Иначе всеки може да прави каквото си иска.