Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подскажите, пожалуйста, как исправить,чтобы работало корректно

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1] 

> Без описания
chimera
Отправлено: 07 Января, 2010 - 21:54:00
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Проблема с этим участком кода(привожу этот участок от начала и до конца). Чего я хочу им добиться - выдать мне после того,как я отмечу нужные мне продукты, окно заказа. Однако выводит errorMessage со словами "Error at operation perfomance."
СУБД Оракл. Соответственно в базе все данные поля присутствуют.

Очень необходима ваша помощь. Ниже приведен данный код. Заранее спасибо
if (@PostContains(getRequestWindow)) {
if ((sizeOf($_SESSION["reProducts"])>0)) {
$c = sizeOf($_SESSION["reProducts"]);
if ($_SESSION["RequestDate"] && $_SESSION["ShipDate"]){
if ($_SESSION["reRequestDate"]!='' && $_SESSION["reShipDate"]!='') {
$check = dateCheck($_SESSION["reRequestDate"], $_SESSION["reShipDate"]);
switch ($check) {
case 0:
$html = getRequestWindow($conn," ","Wrong dates");
break;
case 1:
$Copies=array();
for ($i=0; $i<sizeOf($_SESSION["reProducts"]); $i++) {
$reProducts = $_SESSION["reProducts"];
$reRequestDate = $_SESSION["reRequestDate"];
$reShipDate = $_SESSION["reShipDate"];
if(OCIFetch($stmt)){
$copy = OCIResult($stmt, 'ID');
if ($copy!='') {
$Copies[] = $copy;
};
};

};
$userID = $_SESSION["userID"];
$reRequestDate = $_SESSION["reRequestDate"];
$reShipDate = $_SESSION["reShipDate"];
$sql="INSERT INTO request (person,RequestDate,ShipDate, allow)
VALUES ('$userID', sysDate,'$reShipDate', NULL)
RETURNING id INTO :retid";
$stmt = @OCIParse($conn,$sql);
OCIBindByName($stmt, ':retid', $retid, 32);
$mess = @OCIExecute($stmt);
if($mess) {
for ($i=0; $i<sizeof($Copies); $i++) {
$sql="INSERT INTO request_copy (request,copy) VALUES ('$retid','$Copies[$i]')";
$stmt = @OCIParse($conn,$sql);
$mess = @OCIExecute($stmt);
if (!$mess) {
@OCIRollback($conn);
errorMessage("Error at operation perfomance.");
}
}
}
else {
@OCIRollback($conn);
errorMessage("Error at operation perfomance.");
}
$html = getMainWindow($conn,"Your order is successfully added","");
$_SESSION["reRequestDate"] = "";
$_SESSION["reShipDate"] = "";
$_SESSION["reProducts"]=array();

break;
default:
$html = getRequestWindow($conn, "Repeat order","Wrong date");
}//Shipswitch
} else { $html = getRequestWindow($conn, "Repeat order", "No date");
}
} else { $html = getRequestWindow($conn, "Order", "Name dates on which the order is made out");
}
} else { $html = getMainWindow($conn,"Products for the order are not selected");
}

if (sizeof($Copies) > 0) {
$userID = $_SESSION["userID"];
$reRequestDate = $_SESSION["reRequestDate"];
$reShipDate = $_SESSION["reShipDate"];

$sql="INSERT INTO request (person, ShipDate,RequestDate,allow)
VALUES ('$userID','$reShipDate',sysDate,NULL)
RETURNING id INTO :retid";
$stmt = @OCIParse($conn,$sql);
OCIBindByName($stmt, ':retid', $retid, 32);
$mess = @OCIExecute($stmt);
if ($mess) {
for ($i=0; $i<sizeof($Copies); $i++) {
$sql="INSERT INTO request_copy (request,copy) VALUES ('$retid','$Copies[$i]')";
$stmt = @OCIParse($conn,$sql);
$mess = OCIExecute($stmt);
if (!$mess) {
@OCIRollback($conn);
errorMessage("Error at operation perfomance.");
};
};
} else {
@OCIRollback($conn);
errorMessage("Error at operation perfomance.");
}
$html = getMainWindow($conn,"Your order is successfully added");
} else {
$html = getMainWindow($conn," Your order has not been added!");
};
$_SESSION["reRequestDate"] = "";
$_SESSION["reShipDate"] = "";
$_SESSION["reProducts"]=array();
}
 
 Top
XelaNimed
Отправлено: 08 Января, 2010 - 09:40:04
Post Id


Частый гость


Покинул форум
Сообщений всего: 136
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Дико извиняюсь, но мне кажется, что в таком большом куске кода врядли кто то захочет искать ошибку. Попробуйте хотя бы методом исключений локализовать участок кода, в котором находится ошибка. Также стоит более подробно описать саму ошибку(к примеру: с базой соединился, а выборка строк не происходит). Я сам новичок, посему могу конечно, что-то и не так написать. Чтоб у Вас не складывалось впечатление, что до Вашего сообщения никому дела нет, попробуйте более развёрнуто описывать проблему, и конечно приводить непосредственно участок кода где имеется ошибка. Повторюсь, я сам новичок.
 
 Top
chimera
Отправлено: 08 Января, 2010 - 10:21:50
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




XelaNimed пишет:
Также стоит более подробно описать саму ошибку(к примеру: с базой соединился, а выборка строк не происходит)..

коннект к базе есть запрос выполняется. привела весь участок, т к зачастую просят весь кусок.
а непосредственно меня беспокоит это:
$userID = $_SESSION["userID"];
$reRequestDate = $_SESSION["reRequestDate"];
$reShipDate = $_SESSION["reShipDate"];
$sql="INSERT INTO request (person,RequestDate,ShipDate, allow)
VALUES ('$userID', sysDate,'$reShipDate', NULL)
RETURNING id INTO :retid";
$stmt = @OCIParse($conn,$sql);
OCIBindByName($stmt, ':retid', $retid, 32);
$mess = @OCIExecute($stmt);
if($mess) {
for ($i=0; $i<sizeof($Copies); $i++) {
$sql="INSERT INTO request_copy (request,copy) VALUES ('$retid','$Copies[$i]')";
$stmt = @OCIParse($conn,$sql);
$mess = @OCIExecute($stmt);
if (!$mess) {
@OCIRollback($conn);
errorMessage("Error at operation perfomance.");
}
}
}
 
 Top
Champion Супермодератор
Отправлено: 08 Января, 2010 - 10:33:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




chimera, как думаешь, почему тема в корзине оказалась?
 
 Top
Ammy
Отправлено: 08 Января, 2010 - 10:41:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. for ($i=0; $i<sizeof($Copies); $i++) {
  4. $sql="INSERT INTO request_copy (request,copy) VALUES ('$retid','$Copies[$i]')";
  5. $stmt = @OCIParse($conn,$sql);
  6. $mess = @OCIExecute($stmt);
  7. if (!$mess) {
  8. @OCIRollback($conn);
  9. errorMessage("Error at operation perfomance.");
  10. }
  11. }
  12.  
  13.  


Основной проблемный участок. В остальном, - думайте сами, здесь всё видно.
 
 Top
RomAndry Администратор
Отправлено: 08 Января, 2010 - 10:54:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




1. уберите @. Этот символ "подавляет" ошибки, которые нужны, что бы понять что не так.
2. переделайте в коде, примерно так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $mess = OCIExecute($stmt) or die(oci_error($mess));
  3.  
 
My status
 Top
chimera
Отправлено: 08 Января, 2010 - 20:21:04
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Champion, вероятно потому, что я дико ассоциальна и нисколько не имею опыта в задавании вопросов людям. Каюсь
 
 Top
EuGen Администратор
Отправлено: 11 Января, 2010 - 10:43:47
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Корзина »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB