#php #mysql #windows #apache #xampp
#php #mysql — сервер #Windows #апач #программе XAMPP #mysql #apache #xampp
Вопрос:
Это простой php-код, который я использую для просмотра содержимого форума. Проблема в том, что он нормально работает на одном из моих ноутбуков, но во втором он не показывает выходные данные.
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
// OREDER BY id DESC is order result by descending
$result=mysql_query($sql);
?>
<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="6%" align="center" bgcolor="#E6E6E6"><strong>#</strong></td>
<td width="53%" align="center" bgcolor="#E6E6E6"><strong>Topic</strong></td>
<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Views</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Replies</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Date/Time</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){ // Start looping table row
?>
<tr>
<td bgcolor="#E6E6E6"><? echo $rows['id']; ?></td>
<td bgcolor="#E6E6E6"><a href="view_topic.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a><BR></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['view']; ?></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['reply']; ?></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['datetime']; ?></td>
</tr>
Я проверил все остальное, и, похоже, с ними все в порядке. Данные присутствуют в базе данных, но они не отображаются на форуме. Кто-нибудь может мне в этом помочь?
операционная система : win7
Комментарии:
1. Пожалуйста, опубликуйте весь ваш код и структуру вашей базы данных.
2. Я не вижу, где
$tbl_name
это определено. Используете ли вы этот код на своих ноутбуках или он размещен в другом месте?3. Возможно, короткие теги отключены. Изменить <? echo $rows[‘id’]; ?> в <?php echo $rows[‘id’]; ?> и все остальные строки, начинающиеся с <? to <?php
4. Вы уверены, что у вас такая же установка mysql, с таким же логином / паролем?
Ответ №1:
пора учиться отладке, приятель.
Хорошее место для начала: http://www.ibm.com/developerworks/library/os-debug /
для mysql чрезвычайно удобно запускать запросы таким образом:
$result=mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
и убедитесь, что вы можете видеть все возникшие ошибки.
если вы не можете быстро исправить ситуацию, вы можете добавить эти строки в начало скрипта
ini_set('display_errors',1);
error_reporting(E_ALL);
но для рабочего состояния display_errors
значение должно быть изменено на 0
Также рекомендуется проверять исходный код HTML вместо просмотра отображаемой страницы в браузере. Он сообщит вам, есть ли у вас какие-либо проблемы с короткими тегами или нет. Всегда полезно знать, есть ли у вас какие-либо проблемы, прежде чем приступать к их устранению.
Ответ №2:
вы должны использовать
<?php echo $rows['id']; ?>
вместо <? echo $rows['id']; ?>
короткий тег может быть отключен.