Всем привет, хех. Вообщем если не трудно подскажите в чем может быть проблема, метод execute ничего не сохраняет в БД не выдаёт ошибок и возвращает false, что вроде как очень странно потому что код вроде как правильный (его прикрепляю ниже).
public static function createProduct($options)
{
$db = Db::getConnection();
$sql = "INSERT INTO product "
. "(name, code, price, category_id, brand, availability, "
. "description, is_new, is_recommended, status) "
. "VALUES "
. "(:name, :code, :price, :category_id, :brand, :availability, "
. ":description, :is_new, :is_recommended, :status)";
$result = $db->prepare($sql);
$result->bindParam(':name', $options['name'], PDO::PARAM_STR);
$result->bindParam(':code', $options['code'], PDO::PARAM_INT);
$result->bindParam(':price', $options['price'], PDO::PARAM_STR);
$result->bindParam(':category_id', $options['category_id'], PDO::PARAM_INT);
$result->bindParam(':brand', $options['brand'], PDO::PARAM_STR);
$result->bindParam(':availability', $options['availability'], PDO::PARAM_INT);
$result->bindParam(':description', $options['description'], PDO::PARAM_STR);
$result->bindParam(':is_new', $options['is_new'], PDO::PARAM_INT);
$result->bindParam(':is_recommended', $options['is_recommended'], PDO::PARAM_INT);
$result->bindParam(':status', $options['status'], PDO::PARAM_INT);
if ($result->execute()) {
return $db->lastInsertId();
}
return 0;
}
if (!$result) {
echo "\nPDO::errorInfo():\n";
print_r($db->errorInfo());
}
Попробуйте и посмотрите, что вам скажет
Все из-за невнимательности. В БД у меня был еще столбец без значения по умолчанию (image) , а в запросе выше этот столбец не указан, видимо поэтому и не добавлялось.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как настроить phpstorm чтобы при нажатии на клавишуон автоматически ставил -> (для объектов класса разумеется)
загрузить ту переменную которая существует и не пустая в переменную c помощью тернарного оператора