Переходит к / u / bobbykjack в / r / PHPhelp для поиска проблемы.
Проблема в том, что функция запроса использовала процедурные вызовы и метод объекта, из-за чего объект не обновлял переменную insert_id.
Старый код:
public function query($str) {
$this->results = mysqli_query(self::$db, $str);
if($this->results===false) {
echo $this->mysqli_error();
}
else
return $this->results;
}
Новый код:
public function query($str) {
$this->results = parent::query($str);
if($this->results===false) {
echo $this->mysqli_error();
}
else
return $this->results;
}
Я также изучаю назначение этого класса базы данных, поскольку он кажется ненужным.
Основное отличие состоит в том, что в Struts1.x запрос направляется непосредственно сервлету, тогда как в Struts2.x запрос и ответ проходят через стек перехватчика или фильтра. Обычную логику можно поместить в классы фильтров, а разработчик может сосредоточиться на бизнес-логике. Кроме того, существуют различия в структуре каталогов.
Лучше узнать о различиях между Struts1.x и Struts2.x по темам. Вот ссылка на http://www.geekinterview.com/question_details/64360 :
В Struts 1.x классы действий должны расширять класс Action (или DispatchAction), а метод выполнения имеет номер параметра и тип возврата ActionForward, но в struts 2.x класс действия также может быть простым pojo с методом execute, возвращающим только строку без каких-либо входных параметров.
Контейнер не обрабатывает Struts2.x , в отличие от Struts1.x , Действия как пару запрос / ответ и действие struts2.x все еще может получить доступ к исходному запросу и ответу.
Проверка на стороне сервера выполняется в классах действий в Struts2.x гораздо более простым способом.
Это совершенно другой веб-фреймворк ... Struts2 - это в основном старая веб-работа.
Некоторые различия:
Я рекомендую вам «удалиться» «Struts1 в пользу современных веб-фреймворков.