У меня необычная проблема с моим время цикла,PHP MSSQL в то время как петли
вот код:
$link = mssql_connect($myServer, $myUser, $myPass);
if (!$link || !mssql_select_db($myDB, $link)) {
die('Unable to connect or select database!');
}
$result = mssql_query("SELECT
TBL_1.FULLNAME AS FullName,
CAST(TBL_3.NOTE AS VARCHAR(MAX)) AS Note,
TBL_3.CREATEDATE AS CreateDate,
TBL_4.UNAME AS Creator
FROM
database.dbo.TBL_1 TBL_1,
database.dbo.TBL_2 TBL_2,
database.dbo.TBL_3 TBL_3,
database.dbo.TBL_4 TBL_4
WHERE
TBL_1.UID = TBL_2.UID AND
TBL_2.NOTEID = TBL_3.NOTEID AND
TBL_3.CREATORID = TBL_4.USERID AND
TBL_1.UID = '$id'
ORDER BY CreateDate desc") or die(mssql_get_last_message());
if (!mssql_num_rows($result)) {
echo '<tr>
<td width="600px"> No results returned</td>
</tr>';
} else {
while ($row =mssql_fetch_assoc($result)){
echo "<tr>
<td width='15px'> ".++$counter." </td>
<td width='600px'> ".$row['Note']." </td>
<td width='185px'>".$row['CreateDate']."</td>
<td width='185px'>".$row['Creator']."</td>
</tr>";
}
}
Для большинства записей, все, как и ожидалось. В некоторых случаях, хотя цикл while не отвечает вообще. нет ошибок, нет текста, как если бы я никогда не запускал команду.
Я пробовал искать и читать как можно больше, но без ошибок его тихое решение было трудно найти.
Попробовали использовать foreach вместо этого, и потребовалось тонну очистки и очистки, чтобы он не показывал 1 символ в строке. Хотя это действительно продолжало повторять 1-ю запись.
Я также должен указать, что 1 из строк находится в формате RTF, но я не думаю, что это играет роль.
Я подключаюсь из машины * nix к серверу MS SQL2005.
Заранее благодарим за любые советы!
Просмотреть источник страницы вашего выходного html. Что ты видишь? Вы не избегаете значений для вывода html, так что вы можете получить разбитую разметку. 'htmlspecialchars ($ row ['Note'])' –
Я ничего не вижу,
Есть ли способ остановить цикл while, чтобы увидеть код ошибки? по крайней мере, чтобы получить представление о том, что вызывает это? – Mike