我做了一个安装程序 期间有几个问题一直没搞明白 恳请各位指导
1 printf( "\n".$buffer); 里面的 \n 为什么起不到换行的作用?
2 fgets($hand) 读出来的是一行 为什么直接放到 $db->query()执行时报错 我做了str_replace( "\r\n","\n",$buffer ) 也不行 下面我把代码帖上function createtables($file)
{
global $db;
$hand = fopen($file,"r");//打开指定的文件 $file
if ( $hand )
{
while( !feof( $hand ) )
{
//取得行
$buffer = fgets( $hand );
//printf( "\n".$buffer."\n");
printf( "<br>$buffer<br>");
$buffer = str_replace( "\r\n","\n",$buffer );
printf( "<br>$buffer<br>");
//向数据库发送请求
//$db->query($buffer);
if( $buffer != null )
{
if( $db->query($buffer) )
echo "\nit's work!\n";
else
echo "\n It's don't work!!! \n";
}
else
{
break;
}
}
}
fclose($hand);
}数据库文件是这样的create table user (
uid int(10) auto_increment,
gid int(10),
usernc varchar(50),
pwd varchar(50),
email varchar(100),
emid int(10),
ip varchar(10),
regtime datetime,
lastlogintime datetime,
logintimes int(8),
language varchar(10),primary key (uid)
)engine = myisam character set utf8 collate utf8_unicode_ci;
1 printf( "\n".$buffer); 里面的 \n 为什么起不到换行的作用?
2 fgets($hand) 读出来的是一行 为什么直接放到 $db->query()执行时报错 我做了str_replace( "\r\n","\n",$buffer ) 也不行 下面我把代码帖上function createtables($file)
{
global $db;
$hand = fopen($file,"r");//打开指定的文件 $file
if ( $hand )
{
while( !feof( $hand ) )
{
//取得行
$buffer = fgets( $hand );
//printf( "\n".$buffer."\n");
printf( "<br>$buffer<br>");
$buffer = str_replace( "\r\n","\n",$buffer );
printf( "<br>$buffer<br>");
//向数据库发送请求
//$db->query($buffer);
if( $buffer != null )
{
if( $db->query($buffer) )
echo "\nit's work!\n";
else
echo "\n It's don't work!!! \n";
}
else
{
break;
}
}
}
fclose($hand);
}数据库文件是这样的create table user (
uid int(10) auto_increment,
gid int(10),
usernc varchar(50),
pwd varchar(50),
email varchar(100),
emid int(10),
ip varchar(10),
regtime datetime,
lastlogintime datetime,
logintimes int(8),
language varchar(10),primary key (uid)
)engine = myisam character set utf8 collate utf8_unicode_ci;
一,用pre括起来
二,用textarea括起来
三,cli模式运行
第二个问题,只读一行的话,你的第一行是
create table user (
这个直接传给sql,当然会出错