Столкнулся с проблемой,которую не всилах сам решить.
После изминения структуры базы,а точнее нескольких таблиц,в коде php теперь надо делать не один,а два запроса.
Вот сам код:
if($set!=0){
$r=0;
foreach($item_guid as $i ){
$result = mysql_query("INSERT INTO mail_items (mail_id,item_guid,item_template,receiver)
VALUES ($mail_id, '$i', '$set[$r]','$to')");
$r++;
}
}else
if ($has_items) {
//selectDb('characters');
$result = mysql_query("INSERT INTO mail_items (mail_id, item_guid, item_template, receiver)
VALUES (".$mail_id.", ".$item_guid.", ".$item.", ".$to.")");
}
if ($result) {
return $mail_id;
} else {
return 0;
}
}
А теперь вместо каждого из запросов,нужно делать два,чтоб было все правильно.Вот какие запросы нужно делать теперь:
это к верхней части
INSERT INTO mail_items (mail_id,item_guid,receiver) VALUES ($mail_id, '$i','$to');
INSERT INTO item_instance (guid,itemEntry,receiver) VALUES ('$i', '$set[$r]','$to');
а это к нижней
INSERT INTO mail_items (mail_id, item_guid, receiver) VALUES (".$mail_id.", ".$item_guid.", ".$to.");
INSERT INTO item_instance (guid,itemEntry,receiver) VALUES (".$item_guid.", ".$item.",".$to.");
Скажите,как это реализовать в даном участке кода ?
Спустя 28 минут, 2 секунды (13.01.2011 - 23:38) gidrosoldat написал(а):
Самое простое, заменить строки запросов:
Antiment, не забывай о escapeString и посмотри в программе, которую используешь для набора PHP кода должа быть функция по приводу кода в красивый вид. Одно нажатие и скобки выравниваются под линейку - увеличивается читаемость кода, самому приятней будет.
if ($set != 0)
{
$r = 0;
foreach ($item_guid as $i)
{
$result1 = mysql_query("INSERT `mail_items`
SET
`mail_id` = '" . int($mail_id) . "',
`item_guid` = '" . escapeString($i) . "',
`receiver` = '" . escapeString($to) . "'");
$result2 = mysql_query("INSERT `item_instance`
SET
`guid` = '" . escapeString($i) . "',
`itemEntry` = '" . escapeString($set[$r]) . "',
`receiver` = '" . escapeString($to) . "'");
$r++;
}
}
else
{
if ($has_items)
{
//selectDb('characters');
$result1 = mysql_query("INSERT `mail_items`
SET
`mail_id` = '" . int($mail_id) . "',
`item_guid` = '" . escapeString($item_guid) . "',
`receiver` = '" . escapeString($to) . "'");
$result2 = mysql_query("INSERT `item_instance`
SET
`guid` = '" . escapeString($item_guid) . "',
`itemEntry` = '" . escapeString($item) . "',
`receiver` = '" . escapeString($to) . "'");
}
if ($result)
{
return $mail_id;
}
else
{
return 0;
}
}
Antiment, не забывай о escapeString и посмотри в программе, которую используешь для набора PHP кода должа быть функция по приводу кода в красивый вид. Одно нажатие и скобки выравниваются под линейку - увеличивается читаемость кода, самому приятней будет.
Спустя 42 минуты, 28 секунд (14.01.2011 - 00:20) Antiment написал(а):
Попробовал,выдает ошибку
в этой строке
собственно,это последняя строка в файле :D
Почему так ?
Parse error: syntax error, unexpected $end
в этой строке
?>
собственно,это последняя строка в файле :D
Почему так ?
Спустя 31 минута, 5 секунд (14.01.2011 - 00:51) inpost написал(а):
Antiment
Забытая закрытая или лишняя открытая скобки.
Забытая закрытая или лишняя открытая скобки.
Спустя 8 часов, 10 минут, 28 секунд (14.01.2011 - 09:02) gidrosoldat написал(а):
Antiment
я когда правил, одну скобку стер (кажется, закрывающую в конце) - у меня редактор на нее ругался ))
Сравни со старым кодом и вставь куда надо.
я когда правил, одну скобку стер (кажется, закрывающую в конце) - у меня редактор на нее ругался ))
Сравни со старым кодом и вставь куда надо.