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

Статус
В этой теме нельзя размещать новые ответы.
Но свести все данные к одному запросу после проверки на их наличие я к сожалению не понимаю как.
А я к сожалению не понимаю зачем.

Но ничего сложного тут нет:
PHP:
<?php
if(!empty($name_ru) && !empty($name_eng) )
    mysql_query("INSERT INTO `RADIO` (`name_eng`, `name_ru`) VALUES (".$name_eng.", ".$name_ru.")");

elseif(!empty($name_ru))
    mysql_query("INSERT INTO `RADIO` (`name_ru`) VALUES (".$name_ru.")");

elseif(!empty($name_eng))
    mysql_query("INSERT INTO `RADIO` (`name_eng`) VALUES (".$name_eng.")");
?>

Если полей больше двух, то решение все равно есть. Но писать что то, в чем смысла я не вижу - для меня сложная задача.:)
 
А я к сожалению не понимаю зачем.
Если полей больше двух, то решение все равно есть. Но писать что то, в чем смысла я не вижу - для меня сложная задача.:)

Затем что бы за 1 запуск файла, в таблице не создавалось более одной строки с данными. Пока что каждый запрос создает свою строку.
Я так понимаю что при более чем двух полях решение будет выглядеть не так?
PHP:
if(!empty($name_ru) && !empty($name_eng) && !empty($name_lu) ) 
    mysql_query("INSERT INTO `RADIO` (`name_eng`, `name_ru`, `name_lu`)) VALUES (".$name_eng.", ".$name_ru.", ".$name_lu.")");

Добавлено через 1 минуту
И еще, можно вопрос к провидцам? :D
Почему через скрипт передаются в таблицу только цифры?
 
Затем что бы за 1 запуск файла, в таблице не создавалось более одной строки с данными.
При таком запросе:
"INSERT INTO RADIO (`name_ru`, `name_eng`) VALUES ('".$name_ru."', '".$name_eng."')"
Не будет. Как я уже говорил - если одна из переменных будет пустая, то на результат запроса это никак не повлияет. А строчка всегда будет добавлена только одна.

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

Добавлено через 4 минуты

А какой тип поля в таблице? Случайно не какой нибудь INT?:)

Varchar стоял в типе поля. INT только на ID был.
Запрос работает как надо, раньше у меня не вместо
PHP:
'".$name_ru."'
было просто
PHP:
$name_ru
, может быть дело в этом было.
Спасибо! Проблема решена.
 
попробуйте так:

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, или пусто, или вобще не определена';
}
и т.д.

Вы уверены, что $name_ru, $name_eng и т.д. только сравниваются с пустой строкой? ;) И не выполняется присваивание?...
 
попробуйте так:

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
То что Вы написали есть бред... INSERT INTO RADIO (name_eng) VALUES ($name_eng).... Это что? О_о
может так?
PHP:
INSERT INTO radio (`name_eng`) VALUES (`{$name_eng}`)
Курите мануал по PHP+MySQL
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху