Я пытаюсь вставить переменную php в MySQL, но он автоматически вставляет 0 вместо значения переменной

Не использовать для PREG_SPLIT_DELIM_CAPTURE, если вы используете положительный lookbehind в своем шаблоне. Функция будет хранить разделители.

$text = preg_split('/(?<=[.:!?])/', 'good:news.everyone!', 0, PREG_SPLIT_NO_EMPTY);

Если вы используете lookbehind, он просто ищет символ без его соответствия. Таким образом, в случае preg_split() функция не будет отбрасывать символ.

Результат без флага PREG_SPLIT_NO_EMPTY:

array (
    0 => 'good:',
    1 => 'news.',
    2 => 'everyone!',
    3 => ''
);

Результат с флагом PREG_SPLIT_NO_EMPTY :

array (
    0 => 'good:',
    1 => 'news.',
    2 => 'everyone!'
);

Вы можете протестировать его с помощью этого PHP Online Function Tester .

-1
задан Pratik K. Tiwari 17 January 2019 в 14:11
поделиться

2 ответа

Была проблема в форме действия.

<form method="post" action="messages.php?user=$username_view" class="chat-form">
   <textarea name="send_message_text_txt"></textarea>
   <button name="send_message_button_btn" type="submit"><i class="fa fa-paper-plane"></i></button>
</form>

Переменные фактически не передавались. Я повторил параметр вместо того, чтобы писать его прямо в форме действия.

Новый код формы:

<form method="post" action="messages.php?user=<?php echo $username_view ?>" class="chat-form">
    <textarea name="send_message_text_txt"></textarea>
    <button name="send_message_button_btn" type="submit"><i class="fa fa-paper-plane"></i></button>
</form>
0
ответ дан Pratik K. Tiwari 17 January 2019 в 14:11
поделиться

Вероятно, столбец message_sender_id является целым числом, и в запросе вы пытаетесь ввести значение в кавычках

0
ответ дан Hadagalberto Junior 17 January 2019 в 14:11
поделиться
Другие вопросы по тегам:

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