Здравствуйте, есть таблица "Zoldon" в ней есть столбец "klow" я через "INSERT INTO ", нужно проверить данные в столбце на их существование. я понял что это делается через "SELECT * FROM Zoldon WHERE klow LIKE \'2 метра\'" но мне бд выдаёт ошибку, мол не правильно сформировал запрос чтоль.
я что то не так сделал? PHP: $link = mysqli_connect( "localhost" , "root" , "password" , "dtbs" ); if(mysqli_query($link,"SELECT * FROM Zoldon WHERE klow '%2метра%'")){ echo "есть запись"; } else{ echo "нет записи "; }
тебе query возвращает объект в ответ или false в случае неудачи,так что нужно смотреть: PHP: $res = mysqli_query($link,"SELECT * FROM Zoldon WHERE klow '%2метра%'"; if(mysqli_num_rows($res) > 0){ //Есть } else { //Нет }
@Zeros зачем ты в функцию mysqli_num_rows() передал перемену типа boolean? Смотрел документацию mysqli_num_rows() и какие она аргументы принимает?
INSERT ... ON DUPLICATE KEY UPDATE или ON DUPLICATE KEY IGNORE можно использовать, если есть необходимость держать только уникальные. Тогда хватит одного инсерта без проверки.