@lemonlimelike

Проверка на наличие записи в бд?

$ip = $_SERVER["REMOTE_ADDR"];
$country = json_encode($SxGeo->getCountry($ip));
$intoip = mysqli_query($connection, "INSERT INTO views(ip, country)  VALUES('$ip', '$country')");

Вот смотрите, $ip мы записываем в бд, в таблицы есть поле duplicat, хочу сделать проверку, типа
if(mysli_num_rows($ip) > 1){
   $duplicat = mysqli_query($connection, "INSERT INTO views(duplicat) VALUES ('Был уже')");
}

Но происходит ошибка. Смотрел примеры mysqli_num_rows, так там идет вот так
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);
}


Я хочу сделать проверку, если такая же запись есть, то добавить в поле duplicat Был уже, т.е. я хочу получать данные, если на сайт заходят одни и те же люди
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
kgnk
@kgnk
Разрабатываю сайты, рисую интерфейсы
Судя по вашему примеру, лучшее, что могу посоветовать, так это почитать:
SELECT
UDPATE
INSERT
DELETE

Это операторы группы — DML, Data Manipulation Language. Если вы работаете с базой данных, то их нужно знать, иначе всё будет очень плохо. Когда внимательно прочитаете, то быстро поймёте как сделать проверку на существование записи, в помощь вам будет COUNT().
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@PashaNedved
Проверить есть ли хотя бы одна запись подходящая под условие
SELECT COUNT(*) FROM views WHERE ip=$ip LIMIT 1;
Получить количество затронутых строк в результате последнего запроса
$intoip = mysqli_query($connection, "INSERT INTO views(ip, country)  VALUES('$ip', '$country')");
$rows = mysqli_affected_rows($connection);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы