#php
#php
Вопрос:
Это моя ошибка — она связана с чем-то, что я упускаю из виду, не уверен, где это находится.
Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный $end в /home/mjcrawle/public_html/cit0215/assignment5/onlinebanking/viewaccounts.php в строке 107
с уважением
<?php
require_once('footer_nav/navigation.inc.php');
require_once('../websiteconfig.inc.php');
require_once('/class/person.class.php');
require_once('../class/database.class.php');
/*Start Session*/
session_start();
$currentMember =usserialize($_session['currentMember']);
/*DataBase*/
$db = new Database;
$conn = $db->connection;
?>
<td width="16">amp;nbsp;</td>
<td width="595">
</td>
</tr>
</div>
<h2>Accounts</h2>
</td>
<table id="accounts" summary="Bank Account Balance Information">
<thread>
<tr>
<th>Account Number</th>
<th>Account Balance</th>
</tr>
</thead>
<tbody>
<?
/*Accounts*/
$currentMember->connection = $conn;
$account = $currentMember->retrieve_all_accounts();
/* Loop Though Accounts*/
while($acount = mysqli_fetch_assoc($acount)) {
/* Retrieve Account Balance*/
$bankaccount = new Bankaccount ($account['BankAccountID']);
$bankaccount->connection = $conn;
$balance = mysqli_fetch_assoc($bankaccount->retrieve_current_balance());
echo '<tr>' . "n";
echo "t" . '<td class="account_number">' . $account['BankAccountID'] . '</td>' . "n";
echo "t" . '<td class="account_balance">$' . number_format($balance['CurrentBalance'], 2) . '</td>' . "n";
echo '</tr>' . "n";
/*Closed DataBase*/
mysqli_close($db->connecion);
}
?>
Комментарии:
1.
while($acount = mysqli_fetch_assoc($acount)) {
Неужели?!2. Это не полный исходный код. Можете ли вы сказать нам, что это за строка line 107?
3. Пожалуйста, скажите мне, что это личный проект, а не коммерческий код для реального банковского содрогания …
4. @Demian называется dir
assignment5
поэтому я предполагаю, что это для школы.5. @Rafe вздыхает с облегчением 😉
Ответ №1:
Сделайте это:
Удалите включенные классы по одному и посмотрите, является ли один из них причиной.
Я предполагаю, что вы найдете { без соответствия} в одном из них
Ответ №2:
Похоже, что ваш цикл while не закрыт.
while($acount = mysqli_fetch_assoc($acount)) {
Либо это, либо вы преждевременно закрываете соединение с базой данных. (в цикле while)
Это, насколько я могу судить, основываясь на коде, который вы включили сюда.
Попробуйте завершить цикл while после
echo '</tr>' . "n";
и посмотрим, поможет ли это.
Комментарии:
1. Нет, он закрыт. Кроме того, преждевременное закрытие базы данных не будет иметь ничего общего с синтаксической ошибкой.
2. Я тоже об этом думал, пока это не было добавлено 🙂
3. Да, это для школы. Это не имеет ничего общего с коммерческим использованием.
4. хотел быть честным. Я продвинулся так далеко в коде, и я думаю, что я близок к его завершению
5. Но почему вы закрываете соединение с БД в цикле while? Конечно, это вызывает проблему?? Я думал, что $ end (где бы это ни было) зависит от того, что база данных все еще доступна. Просто предположение… Кроме того, прошло некоторое время с тех пор, как я посещал PHP, но не захлебнется ли mysqli_fetch_assoc при закрытии базы данных?
Ответ №3:
Завершающий возврат каретки после последнего закрытия ?>
.