Есть ли данные в переменной?

Статус
В этой теме нельзя размещать новые ответы.

Stripe

Участник
Регистрация
20 Окт 2007
Сообщения
164
Реакции
9
Заношу в базу данные с формы, в форме несколько полей, получается так, что не все поля всегда будут заполнены перед отправкой данных в MySQL. Собственно вопрос: Как проверить существование данных в переменной?
 
А если я получаю несколько переменных? Например:

Этот код не работает, ни ошибок ни в базе новых записей не дает. Каким образом составить один запрос для обращения к базе после проверки переменных?
 
Уверен что у тебя включены глобальные переменные?
 
попробуйте так:

PHP:
if ($name_ru = "") {
echo 'name_ru или 0, или пусто, или вобще не определена';
}
else {
mysql_query("INSERT INTO RADIO (name_ru) VALUES ($name_ru)"); }

if ($name_eng = "") {
echo 'name_eng или 0, или пусто, или вобще не определена';
}
else {
mysql_query("INSERT INTO RADIO (name_eng) VALUES ($name_eng)"); }

if ($name_eng = 0 & name_ru =0) { echo "<strong> Переменные не существуют, в базу заносить нечего! Возможно проблема вызвана отключенной функцией register global в настройках php.ini</strong>" ; }

Напишите как вы получаете переменные $name_eng и $name_ru
 
isset в данном случае не подходит, так как если переменная присутствовала в форме, то isset вернет true в любом случае, была она заполнена или нет.

А если я получаю несколько переменных? Например:
*** скрытое содержание ***
Этот код не работает, ни ошибок ни в базе новых записей не дает. Каким образом составить один запрос для обращения к базе после проверки переменных?
"INSERT INTO RADIO (name_eng) VALUES ($name_eng)" - это что такое?
Нельзя заполнить только часть полей в таблице. Так что если некоторые переменные пустые, то не вписав их в запрос - ничего не изменит.
 
Acidrayne, спасибо за подсказку, но предыдущий код, приведенный мной как оказалось работает только с целыми числами (целые числа добавляются в базу), слова, что на eng что ru не попадают в базу. Чувствую что сам что то натворил с настройками, а что понять не могу.

И еще вопрос, данные попадают на разные строки таблицы и естестевнно строки имеют разный ID, тоесть опять же встает вопрос об одном запросе к базе. Как его осуществить в условиях получения нескольких переменных с формы?

Добавлено через 2 минуты
Нельзя заполнить только часть полей в таблице. Так что если некоторые переменные пустые, то не вписав их в запрос - ничего не изменит.

В том то и дело, что я получаю с формы две и более переменных, как минимум: $name_ru и $name_eng

INSERT INTO RADIO (name_eng) VALUES ($name_eng) - это добавление данных в таблицу, в идеале он естественно должен выглядеть так:

INSERT INTO RADIO (name_eng, name_ru) VALUES ($name_eng, $name_ru )

Но свести все данные к одному запросу после проверки на их наличие я к сожалению не понимаю как.
 
данные попадают на разные строки таблицы и естестевнно строки имеют разный ID, тоесть опять же встает вопрос об одном запросе к базе. Как его осуществить в условиях получения нескольких переменных с формы?
Чем такой запрос тебя не устраивает:
"INSERT INTO RADIO (name_ru, name_eng) VALUES ($name_ru, $name_eng"?
Понимаешь, если одна из переменных будет пустая, то на результат запроса это никак не повлияет.
 
Чем такой запрос тебя не устраивает:
"INSERT INTO RADIO (name_ru, name_eng) VALUES ($name_ru, $name_eng"?
Понимаешь, если одна из переменных будет пустая, то на результат запроса это никак не повлияет.
Ты хочешь сказать что запросы:

PHP:
 if (empty($name_ru)) {
    echo 'name_ru или 0, или пусто, или вобще не определена';
}
else
   mysql_query("INSERT INTO RADIO (name_ru) VALUES ($name_ru)");
   
if (empty($name_eng)) {
    echo 'name_eng или 0, или пусто, или вобще не определена';
}
else
   mysql_query("INSERT INTO RADIO (name_eng) VALUES ($name_eng)");

Не могут дать такого заполнения таблицы?
ID name_ru name_eng
12 (тут пусто) 111
11 222 (тут пусто)


Ceyce, а по твоему вопросу мой пост выше.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху