Привет всем! Подскажите пожалуйста, гда ошибка в функции? Функция выводит из базы некие данные, но если при указаном логине нужной записи нет, то функция записывает. Причем если при услови если записи нет вместо INSERT прописать простое предупреждения то все работает и код выводит сообщения что такой записи нет. но почему не записывает?
private function progresLivePerson($row1,$login)
{
$result = mysqli_query(parent::connectDtat(), "SELECT * FROM progresLivePerson WHERE category='$row1' AND login='$login'");
$row = mysqli_fetch_row($result);
if($row1!=$row[1]){ parent::connectDtat()->query("INSERT INTO progresLivePerson VALUES (NULL,$row1,$login,100)");}
echo $row[3];
}
Можно попробовать так вот:
"SELECT * FROM `progresLivePerson` WHERE `category`='$row1' AND `login`='$login'"
"INSERT INTO `progresLivePerson` (`колонка0`,`колонка1`,`колонка2`,`колонка3`) VALUES ('NULL','$row1','$login','100')"
для тестирования синтаксиса рекомендую использовать mysql workbench (до того как писать запросы).
Спасибо за ответы.
Я нашел причину неудач. Все, что мне нужно было — это добавить кавычки на переменных. Глупое недоразумение.
private function progresLivePerson($row1,$login)
{
$result = mysqli_query(parent::connectDtat(), "SELECT * FROM progresLivePerson WHERE category='$row1' AND login='$login'");
$row = mysqli_fetch_row($result);
if($row1!=$row[1]){ parent::connectDtat()->query("INSERT INTO progresLivePerson VALUES (NULL,'$row1','$login',100)");}
echo $row[3];
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей