不是一个有效的数据源
这样试一下看有什么结果,
<?
require "db_connect1.inc";//打开第一个数据库
print mysql_error();
$sql="select userid,username,password,email,groupid from sb_users";
$result=mysql_query($sql);
print mysql_error();
这样试一下看有什么结果,
<?
require "db_connect1.inc";//打开第一个数据库
print mysql_error();
$sql="select userid,username,password,email,groupid from sb_users";
$result=mysql_query($sql);
print mysql_error();
$sql="select userid,username,password,email,groupid from sb_users";
$result=mysql_query($sql);$result这个值不正确,你好像没有连接数据库就开始query啦!
<?
$dbhost = "localhost";
$dbuser = "root";
$dbpasswd = "pass";
$dbname = "bbs";
mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("数据库连接失败");
?>
我是这样写的
这样对吗?
$dbhost = "localhost";
$dbuser = "root";
$dbpasswd = "pass";
$dbname = "bbs";
mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("数据库连接失败");
mysql_select_db($dbname);
$sql="select userid,username,password,email,groupid from sb_users";
$result=mysql_query($sql);
while($data=mysql_fetch_array($result))
{
$userid[]=$data['userid'];
$username[]=$data['username'];
$password[]=$data['password'];
$email[]=$data['email'];
$groupid[]=$data['groupid'];
}
mysql_close();
require "db_connect2.inc";//打开第二个数据库,存数据
$numbes=count($userid);
for($i=0;$i<$numbers;$i++)
{
$sql="insert into ibf_members(id,name,password,email,mgroup) values('$user[$i]','$username[$i]','$password[$i]','$email[$i]','$groupid[$i]')";
@mysql_query($sql);
}
mysql_close();
Fatal error: Maximum execution time of 30 seconds exceeded in D:\aqiu\test\exchange.php on line 8是不是因为数据量太大了不能转换?
查一下,程序中是否有死循環 ?
如果確實需要執行很長時間, 在程序開始的地方加上 set_time_limit(0) ;
CGI Timeout
The specified CGI application exceeded the allowed time for processing. The server has deleted the process.数据库一共有460M,我现在转的那个表有77.8M
是不是不能用这种方法转?程序执行时间可以在php里修改吗?
Timeout 300
用settimelimit函数
<?
set_time_limit(0);
$dbhost = "localhost";
$dbuser = "root";
$dbpasswd = "pass";
$dbname = "bbs1";
mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("数据库连接失败");
mysql_select_db($dbname);
print mysql_error();
$sql="select userid,username,password,email,groupid from sb_users";
$result=mysql_query($sql);
print mysql_error();
while($data=mysql_fetch_array($result))
{
$userid[]=$data['userid'];
$username[]=$data['username'];
$password[]=$data['password'];
$email[]=$data['email'];
$groupid[]=$data['groupid'];
}
mysql_close();
$dbhost = "localhost";
$dbuser = "root";
$dbpasswd = "pass";
$dbname = "bbs2";
mysql_connect($dbhost,$dbuser,$dbpasswd) or die ("数据库连接失败");
mysql_select_db($dbname);
$numbes=count($userid);
for($i=0;$i<$numbers;$i++)
{
$sql="insert into ibf_members(id,name,password,email,mgroup) values('$user[$i]','$username[$i]','$password[$i]','$email[$i]','$groupid[$i]')";
@mysql_query($sql);
}
mysql_close();
?> 程序运行后,硬盘狂闪10分钟左右,无错误提示,数据未倒入库2 在dos下执行,无错误提示,数据同样未导入 为什么呢?
for($i=0;$i<$numbers;$i++)这里错了吧!$numbes 应该是numbers吧
你都把错误屏蔽了还怎么会有错误提示。
把@去掉再看看错误提示。
"insert into ibf_members (id,name,password,email,mgroup) values('".$user[$i]."','".$username[$i]."','".$password[$i]."','".$email[$i]."','".$groupid[$i]."')";
把@也去掉了,没有任何内容输出
<?
$db=mysql_connect("localhost","root","123456");
mysql_select_db("test-new",$db);
$sql=mysql_query("insert into new values('11')",$db);
print $_post['$sql'];
?>