|
|
我用的是debian,然后是按照http://www.lslnet.com/linux/docs/linux-3893.htm的文章配置了服务器(Apache+MySQL+PHP4)
但是在测试文章最后的PHP代码的时候出现了问题.
下边是测试代码.
[php]<?php
$dbname='mytest';
$tablename='user';
$page=0;
$rowperpage=20;
mysql_connect("localhost", "root", "您的密码");
//下面这个viewData函数,是自己编的,用来显示数据
//从某种程度上讲,本程序起关键作用的就这么一句:
viewData($dbname,$tablename,$page,$rowperpage);
////////////////////////////////////////////////
//
// 往下仅仅是定义了两个函数而已,你可以不去看他 ///
//
////////////////////////////////////////////////
//定义一个函数,用来返回查询状态
function echoQueryResult() {
global $queryStr, $errMsg;
if( $errMsg == "" ) $errMsg = "成功";
if( $queryStr != "" ) {
echo "<table cellpadding=5>\n";
echo "<tr><td>查询:</td><td>$queryStr</td></tr>\n";
echo "<tr><td>结果:</td><td>$errMsg</td></tr>\n";
echo "</table><p>\n";
}
}
//定义一个函数,用来显示数据
function viewData($dbname,$tablename,$page,$rowperpage) {
global $mysqlHandle, $PHP_SELF, $errMsg, $orderby;
echo "<h2>下面是您所查的数据:</h2>\n";
$queryStr = stripslashes( $queryStr );
if( $queryStr == "" ) {
$queryStr = "SELECT * FROM $tablename";
if( $orderby != "" )
$queryStr .= " ORDER BY $orderby";
}
$pResult = mysql_db_query( $dbname, $queryStr );
$errMsg = mysql_error();
$GLOBALS[queryStr] = $queryStr;
if( $pResult == false ) {
echoQueryResult();
return;
}
if( $pResult == 1 ) {
$errMsg = "成功";
echoQueryResult();
return;
}
echo "<hr>\n";
$row = mysql_num_rows( $pResult );
$col = mysql_num_fields( $pResult );
if( $row == 0 ) {
echo "没有数据!表格是空的。";
return;
}
if( $rowperpage == "" ) $rowperpage = 20;
if( $page == "" ) $page = 0;
else $page--;
mysql_data_seek( $pResult, $page * $rowperpage );
echo "<table cellspacing=1 cellpadding=2>\n";
echo "<tr>\n";
echo '<th bgcolor="#FFCC66">';
echo "用户名\n";
echo "</th>\n";
echo '<th bgcolor="#FFCC66">';
echo "口令\n";
echo "</th>\n";
echo '<th bgcolor="#FFCC66">';
echo "出生日期\n";
echo "</th>\n";
echo '<th bgcolor="#FFCC66">';
echo "是否激活\n";
echo "</th>\n";
echo "</tr>\n";
for( $i = 0; $i < $rowperpage; $i++ ) {
$rowArray = mysql_fetch_row( $pResult );
if( $rowArray == false ) break;
echo "<tr>\n";
$key = "";
for( $j = 0; $j < $col; $j++ ) {
$data = $rowArray[$j];
$field = mysql_fetch_field( $pResult, $j );
if( $field->primary_key == 1 )
$key .= "&" . $field->name . "=" . $data;
if( strlen( $data ) > 30 )
$data = substr( $data, 0, 30 ) . "...";
$data = htmlspecialchars( $data );
echo '<td bgcolor="#99CCCC">';
echo "$data\n";
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
echo "<hr>";
//$PHP_SELF
echo "<font size=2>";
echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=$page&rowperpage=$rowperpage' method=post>";
echo "<font color=green>";
echo "第".($page+1)."页/共".(int)($row/$rowperpage+1)."页";
echo "</font>\n";
echo " | ";
if( $page > 0 ) {
echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page).'&rowperpage='.$rowperpage;
if( $orderby != "" )
echo "&orderby=$orderby";
echo "'>上一页</a>\n";
} else
echo "上一页";
echo " | ";
if( $page < ($row/$rowperpage)-1 ) {
echo "<a href='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=".($page+2).'&rowperpage='.$rowperpage;
if( $orderby != "" )
echo "&orderby=$orderby";
echo "'>下一页</a>\n";
} else
echo "下一页";
echo " | ";
if( $row > $rowperpage ) {
echo "<input type=submit value='跳到第'>\n";
echo "<input type=text size=4 name=page>页";
}
echo "</form>";
echo "<form action='$PHP_SELF?action=viewData&dbname=$dbname&tablename=$tablename&page=$page&rowperpage=$rowperpage' method=post>";
echo " 目前每页显示记录数为".$rowperpage."条,您可以";
echo "<input type=submit value='改为'>";
echo "<input type=text size=4 name=rowperpage>条/页";
echo "</form>\n";
echo "</font>\n";
}
?>[/php]
遇到如下问题(浏览器显示的文字):Warning: Unknown(/var/www/mytest1.php): failed to open stream: Permission denied in Unknown on line 0
Warning: (null)(): Failed opening '/var/www/mytest1.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
另外我还在这个机器上弄了一个Discuz!论坛,没成功
在执行install.php时候出现错误.在开始安装的时候浏览器显示如下提示:Discuz! info: MySQL Query Error
Time: 2006-4-30 10:55am
Script:
SQL: CREATE TABLE cdb_access ( uid mediumint(8) unsigned NOT NULL default '0', fid smallint(6) unsigned NOT NULL default '0', allowview tinyint(1) NOT NULL default '0', allowpost tinyint(1) NOT NULL default '0', allowreply tinyint(1) NOT NULL default '0', allowgetattach tinyint(1) NOT NULL default '0', allowpostattach tinyint(1) NOT NULL default '0', PRIMARY KEY (uid,fid)) TYPE=MYISAM
Error: Can't create/write to file './mytest/cdb_access.frm' (Errcode: 13)
Errno.: 1
An error report has been dispatched to our administrator.
另外这个时候浏览我架设的论坛的index.php的时候出现如下提示:Discuz! info: MySQL Query Error
Time: 2006-4-30 12:33pm
Script: /index.php
SQL: SELECT * FROM cdb_settings WHERE variable NOT IN ('bbrules', 'bbrulestxt', 'maxonlines', 'welcomemsg', 'welcomemsgtxt', 'newsletter', 'creditsnotify', 'custombackup')
Error: Can't find file: './mytest/cdb_settings.frm' (errno: 13)
Errno.: 1017
An error report has been dispatched to our administrator.
我感觉都是SQL配置的问题.但是我有不知道配置错在哪里或者如何解决.请大家帮帮忙吧.先谢谢了. |
|