За последние 24 часа нас посетили 11082 программиста и 834 робота. Сейчас ищут 324 программиста ...

помощь с insert_id

Тема в разделе "PHP для новичков", создана пользователем ZlobnyKolob, 21 дек 2017.

  1. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    Ниже код, который по полученному булеву запрашивает или вносит текст в базу данных,
    но инсерт_ид в обоих случаях не могу получить, приходит "NULL" почему ?
    но слова в базу заносятся, но идентификаторы при вардампе NULL

    PHP:
    1.         if ($CommonArray["RusWordInfo"]["ExistWordInDB"])
    2.         {
    3.             // запрашиваем слово из базы данных и добавляем в массив
    4.             $QueryText =
    5.             "
    6.            SELECT
    7.                russian_words.id AS ID,
    8.                russian_words.word AS Word
    9.            FROM russian_words
    10.            WHERE
    11.                UPPER(russian_words.word) = UPPER('$RussianWord')    
    12.            ";      
    13.             $QueryResult = $this->mysqli->query($QueryText);  
    14.             $CommonArray["RusWordInfo"] = $QueryResult->fetch_assoc();      
    15.             //$QueryResult->close();
    16.         }
    17.         else
    18.         {
    19.             $QueryText =
    20.             "
    21.            INSERT INTO russian_words (word)
    22.            VALUES ('$RussianWord')
    23.            ";
    24.             $RuResultInsertNewWord = $this->mysqli->query($QueryText);
    25.             // если новое слово успешно внесено в базу данных - тогда продолжаем работать
    26.             //if ($RuResultInsertNewWord)
    27.             //{
    28.                 $CommonArray["RusWordInfo"]["ID"] = $RuResultInsertNewWord->insert_id;
    29.                 $CommonArray["RusWordInfo"]["Word"] = $RussianWord;
    30.                 //$ResultInsertNewWord->close();
    31.             //}          
    32.         }
    33.        
    34.         if ($CommonArray["EngWordInfo"]["ExistWordInDB"])
    35.         {
    36.             $QueryText =
    37.             "
    38.            SELECT
    39.                english_words.id AS ID,
    40.                english_words.word AS Word
    41.            FROM english_words
    42.            WHERE
    43.                UPPER(english_words.word) = UPPER('$EnglishWord')
    44.            ";      
    45.             $QueryResult = $this->mysqli->query($QueryText);  
    46.             $CommonArray["EngWordInfo"] = $QueryResult->fetch_assoc();
    47.             //$QueryResult->close();
    48.         }
    49.         else
    50.         {
    51.             $QueryText =
    52.             "
    53.            INSERT INTO english_words (word)
    54.            VALUES ('$EnglishWord')
    55.            ";
    56.             $EngResultInsertNewWord = $this->mysqli->query($QueryText);
    57.             // если новое слово успешно внесено в базу данных - тогда продолжаем работать
    58.             //if ($EngResultInsertNewWord)
    59.             //{
    60.                 $CommonArray["EngWordInfo"]["ID"] = $EngResultInsertNewWord->insert_id;
    61.                 $CommonArray["EngWordInfo"]["Word"] = $EnglishWord;
    62.                 //$ResultInsertNewWord->close();
    63.             //}          
    64.         }
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.120
    Симпатии:
    1.180
    Адрес:
    Лень
    а ты думаешь что пхп никогда не выводит ошибки и то что напишешь произвольный код, он всегда будет имбово робить ?

    выучи правильную валидацию и отображение ошибок
     
  3. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    54
    Симпатии:
    6
    потому что не к тому объекту обращаешься. Нужно $this->mysqli->insert_id;
     
    ZlobnyKolob нравится это.
  4. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    спасибо большое, но обычно, даже когда к $RuResultInsertNewWord обращался - тоже выпадал мне последняя внесённая запись