[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вложенный запрос на вставку в БД
pretty_xai
Здравствуйте! Помогите пожалуйста разобраться, почему выдает ошибку.....
Есть таблица perif и в ней есть поля: id_perif, name_perif и model.

И есть общая таблица el_zhurnal, в которой есть поле id_perif.
На форме я формирую выпадающий список из БД $name_perif + $model
<TD>
<
select class='input' type='select' name='id_perif'>

<
option value='' disabled selected='selected'>Выберите оборудование...</option>
<?php $query = "SELECT name_perif, model, id_users, id_perif
FROM perif
WHERE id_users = '"
.$_SESSION['id_users']."'
"
;
$sql = mysql_query($query) or die(mysql_error());

if(mysql_num_rows($sql) > 0)
{
while($form_value_new = mysql_fetch_assoc($sql))
{
echo '<option>'. $form_value_new['name_perif'] .'&nbsp'. $form_value_new['model'] .'</option>';
}
}

?>
</select>
</
TD>



И соответственно запись в табл el_zhurnal

    $query = ("INSERT INTO el_zhurnal SET
neispr_date = '"
.$today."',
fio = '"
.$fio."',
id_ltor = '"
.$id_ltor."',
id_perif = (SELECT id_perif FROM 'perif' WHERE name_perif = "
. $form_value_new['name_perif']"
AND model = "
. $form_value_new['model']")");
mysql_query($query) or die(mysql_error());


Но почему-то запрос выдает ошибку

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in Z:\home\localhost\www\zhurnal\script\users\new_item.php on line 154
Помогите пожалуйста!Заранее большое спасибо!



Спустя 46 минут, 14 секунд (25.06.2012 - 09:26) Placido написал(а):
Две точки забыли:
...WHERE name_perif = ". $form_value_new['name_perif'] . " AND model = ". $form_value_new['model'] . ")");

Спустя 8 минут, 45 секунд (25.06.2012 - 09:34) pretty_xai написал(а):
Спасибо Placido, предыдущую ошибку исправила, но теперь появилась следующая

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND model = )' at line 6

Код отредактированного запроса:
    $query = ("INSERT INTO el_zhurnal SET
neispr_date = '"
.$today."',
fio = '"
.$fio."',
id_ltor = '"
.$id_ltor."',
id_perif = (SELECT id_perif FROM perif WHERE name_perif = "
. $form_value_new['name_perif'] ."
AND model = "
. $form_value_new['model'] .")");
mysql_query($query) or die(mysql_error());

Спустя 24 минуты, 23 секунды (25.06.2012 - 09:59) Placido написал(а):
Значит в $form_value_new['model'] ничего нет.

Спустя 17 минут, 9 секунд (25.06.2012 - 10:16) pretty_xai написал(а):
Помогите пожалуйста! Очень нужна ваша помощь, дорогие форумчане. Табличка в бд заполнена. Не знаю в чем ошибка, уже все пересмотрела

Спустя 10 часов, 10 минут, 50 секунд (25.06.2012 - 20:27) pretty_xai написал(а):
Ребятки, форумчане, ну помогите пожалуйста мне понять и разобраться в чем ошибка!!

Спустя 1 час, 52 минуты, 56 секунд (25.06.2012 - 22:20) fdr написал(а):
Если у честь что у вас идут эти два куска кода друг за другом то...
while($form_value_new = mysql_fetch_assoc($sql)) - здесь в конце цикла $form_value_new становится false.
после цикла вы выполняете запрос.
...(урезал)
id_perif = (SELECT id_perif FROM perif WHERE name_perif = ". $form_value_new['name_perif'] ."
$form_value_new['name_perif'] - пустой!
о чем говорит ошибка: "... AND model = )'"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.