За последние 24 часа нас посетили 18722 программиста и 1608 роботов. Сейчас ищут 1909 программистов ...

Проверить фразу на существование.

Тема в разделе "PHP и базы данных", создана пользователем Zeros, 11 мар 2017.

  1. Zeros

    Zeros Новичок

    С нами с:
    6 окт 2016
    Сообщения:
    30
    Симпатии:
    0
    Здравствуйте, есть таблица "Zoldon" в ней есть столбец "klow" я через "INSERT INTO ", нужно проверить данные в столбце на их существование.
    я понял что это делается через "SELECT * FROM Zoldon WHERE klow LIKE \'2 метра\'" но мне бд выдаёт ошибку, мол не правильно сформировал запрос чтоль.
     
  2. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    PHP:
    1. $mysqli->query("SELECT * FROM Zoldon WHERE klow LIKE '%2метра%'");
     
  3. Zeros

    Zeros Новичок

    С нами с:
    6 окт 2016
    Сообщения:
    30
    Симпатии:
    0
    я что то не так сделал?
    PHP:
    1. $link = mysqli_connect( "localhost" , "root" , "password" , "dtbs" );
    2. if(mysqli_query($link,"SELECT * FROM Zoldon WHERE klow '%2метра%'")){
    3.     echo "есть запись";
    4. } else{
    5.     echo "нет записи ";
    6. }
     
    #3 Zeros, 11 мар 2017
    Последнее редактирование модератором: 11 мар 2017
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    тебе query возвращает объект в ответ или false в случае неудачи,так что нужно смотреть:
    PHP:
    1. $res = mysqli_query($link,"SELECT * FROM Zoldon WHERE klow '%2метра%'";
    2. if(mysqli_num_rows($res) > 0){
    3.       //Есть
    4. } else {
    5.      //Нет
    6. }
     
    #4 alexblack, 11 мар 2017
    Последнее редактирование: 11 мар 2017
  5. Zeros

    Zeros Новичок

    С нами с:
    6 окт 2016
    Сообщения:
    30
    Симпатии:
    0
    mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Zeros зачем ты в функцию mysqli_num_rows() передал перемену типа boolean? Смотрел документацию mysqli_num_rows() и какие она аргументы принимает?
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Затем, что у него запрос накрылся и не работает.
     
  8. Zeros

    Zeros Новичок

    С нами с:
    6 окт 2016
    Сообщения:
    30
    Симпатии:
    0
    Спасибо большое, разобрался что не так) всего то нужно было в ` ставить таблицу и столбик =)
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    INSERT ... ON DUPLICATE KEY UPDATE или ON DUPLICATE KEY IGNORE можно использовать, если есть необходимость держать только уникальные. Тогда хватит одного инсерта без проверки.
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ну может отладку осилит