install安装程序怎么写?? Creat Table ....你可以用MYPHPADMIN导出SQL文件,然后复制SQL语句~写进你的PHP代码里~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CREATE TABLE tablename(aid int(11) NOT NULL auto_increment,filename varchar(255) NOT NULL default '',filesize int(12) NOT NULL default '0',realname varchar(255) NOT NULL default '',addtime varchar(10) NOT NULL default '',PRIMARY KEY (aid)); 不知楼主表达的是不是图形化安装数据库的示例,我前段时间在一个网站中倒是用到过,将代码给楼主,参考一下吧:createDb.html<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form name="creatdb" action="process.php" method="post"> <p>数据库名:<input type="text" size=20 name="dbname"/></p> <p>服务器名:<input type="text" size=20 name="hostname" value="localhost"/></p> <p>用 户 名:<input type="text" size=20 name="logname" value="root"/></p> <p>密 码:<input type="text" size=20 name="dbpwd"/></p> <p>表 前 缀:<input type="text" size=20 name="prefix" value="db_"/></p> <p><input type=submit name="sbmt" value="创建数据库"/></p></form></body></html>process.php<?php/*-------------------------------------Author: DuRL <[email protected]>Date: Dec 13rd,2006Function: Create DB according to the params sent by previos pagecopyright 2007, all rights reserved----------------------------------------*///receive paramsif(is_null($_POST['sbmt']) || $_POST['sbmt']==""){ echo "提交错误!"; exit();}$dbname=$_POST['dbname'];$hostname=$_POST['hostname'];$username=$_POST['logname'];$password=$_POST['dbpwd'];$tbprefix=$_POST['prefix'];//validate the conn str$mysqli=@new mysqli($hostname,$username,$password);if(@mysqli_connect_errno()!=0){ $msg=mysqli_connect_error(); echo $msg; echo "<br/>连接字符串有问题,请重新检查!"; exit();}if(!@$mysqli->select_db($dbname)){ $str="create database $dbname"; if(!@$mysqli->query($str)){ echo "数据库服务器虽然连接正常,但创建数据库出现了问题!"; }}echo "数据库创建成功";//----------function createTb()------------//$tbmsg=<<<TBcreate table {$tbprefix}users(userid smallint auto_increment,username varchar(20) not null,password varchar(32) not null,regdate datetime,primary key(userid));TB;if(!@$mysqli->query($tbmsg)){ echo "创建表有误";}echo "创建表成功!";?> jackydrl 多谢谢了 我想要的就是这个 但是不个问题啊 就是我运行了一下 建表的时候出错 要重新再运行一下才能成功这是为什么啊 再指教下吧 多谢了 安装啊...看下discuz的install.php文件吧很nb...不过有一个function runquery(),有一个createtable()就够用了,提取出来就能用了 <?phprequire("connect.php");$sqlfile = 'com.sql';$fp = fopen($sqlfile, 'rb');$filesize=filesize($sqlfile);$sql = fread($fp, $filesize);fclose($fp);runquery($sql);function runquery($sql) { global $lang, $dbcharset, $tablepre, $db; $sql = str_replace("\r", "\n", str_replace(' cdb_', ' '.$tablepre, $sql)); $ret = array(); $num = 0; foreach(explode(";\n", trim($sql)) as $query) { $queries = explode("\n", trim($query)); foreach($queries as $query) { $ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query; } $num++; } unset($sql); foreach($ret as $query) { $query = trim($query); if($query) { if(substr($query, 0, 12) == 'CREATE TABLE') { $name = preg_replace("/CREATE TABLE ([a-z0-9_]+) .*/is", "\\1", $query); echo $lang['create_table'].' '.$name.' ... <font color="#0000EE">'.$lang['succeed'].'</font><br>'; mysql_query(createtable($query, $dbcharset)); } else { mysql_query($query); } } }}function createtable($sql, $dbcharset) { $type = strtoupper(preg_replace("/^\s*CREATE TABLE\s+.+\s+\(.+?\).*(ENGINE|TYPE)\s*=\s*([a-z]+?).*$/isU", "\\2", $sql)); $type = in_array($type, array('MYISAM', 'HEAP')) ? $type : 'MYISAM'; return preg_replace("/^\s*(CREATE TABLE\s+.+\s+\(.+?\)).*$/isU", "\\1", $sql). (mysql_get_server_info() > '4.1' ? " ENGINE=$type DEFAULT CHARSET=$dbcharset" : " TYPE=$type");}?>应该可以用..不过没显示..从discuz5的install.php提取我的安装都不用createtable(),但是好像从phpmyadmin里倒出的语句要用这个函数 我用了 justicesun 的方法 可是在运行的时候只是在页面上打印出了 com.sql 里的语句如 :CREATE TABLE `test_admin` ( `adminid` int(11) NOT NULL auto_increment, `adminname` varchar(25) NOT NULL, `password` varchar(32) NOT NULL, PRIMARY KEY (`adminid`)) TYPE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ... 这样数据库中没有建表啊 这是为什么啊 是我用的不对吗?? <?phprequire("connect.php");$sqlfile = 'computer.sql';$fp = fopen($sqlfile, 'rb');$filesize=filesize($sqlfile);$sql = fread($fp, $filesize);fclose($fp);runquery($sql);function runquery($sql) { global $lang, $tablepre, $db; $sql = str_replace("\r", "\n", $sql); $ret = array(); $num = 0; foreach(explode(";\n", trim($sql)) as $query) { $queries = explode("\n", trim($query)); foreach($queries as $query) { $ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query; } $num++; } unset($sql); foreach($ret as $query) { $query = trim($query); if($query) mysql_query($query); }}继续研究中...这个貌似行 good.我最近想把我用的后台程序install 版的,收集了一下大家的思路。、谢谢了。 justicesun 不好意思啊 你的方法很好用 是我自己弄错了点东西 谢谢了 也谢谢jackydrl的帮忙 PHP 5.3.8 PHP中的\n、\r、\t不起作用 java 翻译成 php 客户管理系统转单(带单),求思路,求思路!!! PHP优先级【逻辑或】 “||” 左右两边的优先级是否一样 php连接mysql问题 php 兼职调查 请问谁能给我一个这个帖子里提到的 data_big5.php 多次explode切割并取用GET取值,应该怎么做呢 php7.1环境,用 mssqlnative 怎样得到 存储过程 结果集? 请高手解决一下 JS和PHP值的问题 校内能否建站的问题
aid int(11) NOT NULL auto_increment,
filename varchar(255) NOT NULL default '',
filesize int(12) NOT NULL default '0',
realname varchar(255) NOT NULL default '',
addtime varchar(10) NOT NULL default '',
PRIMARY KEY (aid)
);
createDb.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form name="creatdb" action="process.php" method="post">
<p>数据库名:<input type="text" size=20 name="dbname"/></p>
<p>服务器名:<input type="text" size=20 name="hostname" value="localhost"/></p>
<p>用 户 名:<input type="text" size=20 name="logname" value="root"/></p>
<p>密 码:<input type="text" size=20 name="dbpwd"/></p>
<p>表 前 缀:<input type="text" size=20 name="prefix" value="db_"/></p>
<p><input type=submit name="sbmt" value="创建数据库"/></p>
</form>
</body>
</html>process.php
<?php
/*-------------------------------------
Author: DuRL <[email protected]>
Date: Dec 13rd,2006
Function: Create DB according to the params sent by previos page
copyright 2007, all rights reserved
----------------------------------------*/
//receive params
if(is_null($_POST['sbmt']) || $_POST['sbmt']==""){
echo "提交错误!";
exit();
}
$dbname=$_POST['dbname'];
$hostname=$_POST['hostname'];
$username=$_POST['logname'];
$password=$_POST['dbpwd'];
$tbprefix=$_POST['prefix'];//validate the conn str
$mysqli=@new mysqli($hostname,$username,$password);
if(@mysqli_connect_errno()!=0){
$msg=mysqli_connect_error();
echo $msg;
echo "<br/>连接字符串有问题,请重新检查!";
exit();
}
if(!@$mysqli->select_db($dbname)){
$str="create database $dbname";
if(!@$mysqli->query($str)){
echo "数据库服务器虽然连接正常,但创建数据库出现了问题!";
}
}
echo "数据库创建成功";
//----------function createTb()------------//
$tbmsg=<<<TB
create table {$tbprefix}users(userid smallint auto_increment,username varchar(20) not null,password varchar(32) not null,regdate datetime,primary key(userid));
TB;
if(!@$mysqli->query($tbmsg)){
echo "创建表有误";
}
echo "创建表成功!";
?>
很nb...不过有一个function runquery(),有一个createtable()就够用了,提取出来就能用了
require("connect.php");
$sqlfile = 'com.sql';$fp = fopen($sqlfile, 'rb');
$filesize=filesize($sqlfile);
$sql = fread($fp, $filesize);
fclose($fp);
runquery($sql);function runquery($sql) {
global $lang, $dbcharset, $tablepre, $db; $sql = str_replace("\r", "\n", str_replace(' cdb_', ' '.$tablepre, $sql));
$ret = array();
$num = 0;
foreach(explode(";\n", trim($sql)) as $query) {
$queries = explode("\n", trim($query));
foreach($queries as $query) {
$ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query;
}
$num++;
}
unset($sql); foreach($ret as $query) {
$query = trim($query);
if($query) {
if(substr($query, 0, 12) == 'CREATE TABLE') {
$name = preg_replace("/CREATE TABLE ([a-z0-9_]+) .*/is", "\\1", $query);
echo $lang['create_table'].' '.$name.' ... <font color="#0000EE">'.$lang['succeed'].'</font><br>';
mysql_query(createtable($query, $dbcharset));
} else {
mysql_query($query);
}
}
}
}
function createtable($sql, $dbcharset) {
$type = strtoupper(preg_replace("/^\s*CREATE TABLE\s+.+\s+\(.+?\).*(ENGINE|TYPE)\s*=\s*([a-z]+?).*$/isU", "\\2", $sql));
$type = in_array($type, array('MYISAM', 'HEAP')) ? $type : 'MYISAM';
return preg_replace("/^\s*(CREATE TABLE\s+.+\s+\(.+?\)).*$/isU", "\\1", $sql).
(mysql_get_server_info() > '4.1' ? " ENGINE=$type DEFAULT CHARSET=$dbcharset" : " TYPE=$type");
}
?>应该可以用..不过没显示..从discuz5的install.php提取
我的安装都不用createtable(),但是好像从phpmyadmin里倒出的语句要用这个函数
如 :
CREATE TABLE `test_admin` ( `adminid` int(11) NOT NULL auto_increment, `adminname` varchar(25) NOT NULL, `password` varchar(32) NOT NULL, PRIMARY KEY (`adminid`)) TYPE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ...
这样数据库中没有建表啊
这是为什么啊
是我用的不对吗??
require("connect.php");
$sqlfile = 'computer.sql';$fp = fopen($sqlfile, 'rb');
$filesize=filesize($sqlfile);
$sql = fread($fp, $filesize);
fclose($fp);
runquery($sql);function runquery($sql) {
global $lang, $tablepre, $db; $sql = str_replace("\r", "\n", $sql);
$ret = array();
$num = 0;
foreach(explode(";\n", trim($sql)) as $query) {
$queries = explode("\n", trim($query));
foreach($queries as $query) {
$ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query;
}
$num++;
}
unset($sql); foreach($ret as $query) {
$query = trim($query);
if($query)
mysql_query($query);
}
}
继续研究中...这个貌似行
我最近想把我用的后台程序install 版的,收集了一下大家的思路。、
谢谢了。
也谢谢jackydrl的帮忙