!!###@# 一次性的导入有规率的数据到表中,不知道怎样弄 (解决即刻结帖,100分相送)

Jzealot 2005-03-04 02:53:30
文本数据如下,有几千行

上海在线 | http://www.xxfa.com | 是一个大弄网站革载
新浪网 | http://www.sina.com.cn | 不用说了
Tom.com | http:/www.tom.com | 好网站啊,愉支工地工
.
.
.


表的结构
LinkID int(4)
LinkName varchar(40)
LinkDepict text

现在我想一次插入上面那些数据,请问怎么做?
多谢!
...全文
97 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
keaizhong 2005-03-04
  • 打赏
  • 举报
回复
LOAD DATA INFILE 'd:\data\data.txt' INTO TABLE table2 FIELDS TERMINATED BY ' | ';
这样子更好。data.txt文件用绝对路径
Jzealot 2005-03-04
  • 打赏
  • 举报
回复
to: ice_berg16(寻梦的稻草人)
你的方法我没弄成功

to: plby(北飞雪)
你的方法我适当改了一下,OK

to: 唠叨大哥
你的方法$s多输出了一串",('')", 去了就对了

结帖了!



plby 2005-03-04
  • 打赏
  • 举报
回复
修正一下,上面的是我曾用过的,没仔细改,下面是改过的!

<?php

$lspath="files"."/".$file_name;

if (file_exists($lspath))
unlink($lspath);
if(copy($file,$lspath))
{

//********* Read TEXT file and insert into database **********
if($fd = fopen($lspath, "r"))
{
while ($buffer = fgets($fd, 4096))
{
$field_array=split("|",$buffer);
$sql="insert DBtablename(linkName,LinkUrl,LinkDepict) ";
$sql=$sql." values('$field_array[0]','$field_array[1]','$field_array[2]')";

if(mssql_query($str))
echo "数据导入成功";
else
echo "数据导入失败";
}

fclose($fd);
}
}
else
echo "打开文件失败了,哈哈!<br>";
mssql_close($link);
//**************************************************************
//用MySQL时就把MSSQL改成Mysql就行了;
//$file是上一个提交页传来的file控件。


?>
xuzuning 2005-03-04
  • 打赏
  • 举报
回复
呵呵,手快了:)
mysql_query("insert into tbl_name (linkName,LinkUrl,LinkDepict) values $s");
xuzuning 2005-03-04
  • 打赏
  • 举报
回复
$text = file_get_contents("文本数据文件名");
$s = "('".preg_replace(array("/ *\| */","/[\r\n]+/"),array("','","'),('"),AddSlashes($text))."')";
mysql_connect();
mysql_select_db("test");
mysql_query("insert into tbl_name () values $s");

plby 2005-03-04
  • 打赏
  • 举报
回复
将上面脚本
$buffer=str_replace(";", ";",$buffer );
$buffer=strtoupper($buffer);
$field_array=split(";",$buffer);

中的“;”用“|”替换一下!
Jzealot 2005-03-04
  • 打赏
  • 举报
回复
按照上面的作法,提示数据导入成功,但根本没写进
plby 2005-03-04
  • 打赏
  • 举报
回复
<?php

$lspath="files"."/".$file_name;

if (file_exists($lspath))
unlink($lspath);
if(copy($file,$lspath))
{
$m=date('Y-m-d');

//***************** Read TEXT file and insert into database *****************************
if($fd = fopen($lspath, "r"))
{
while ($buffer = fgets($fd, 4096))
{
$buffer=str_replace(";", ";",$buffer );
$buffer=strtoupper($buffer);
$field_array=split(";",$buffer);
$sql="insert DB(linkName,LinkUrl,LinkDepict) values('".$field_array[0]."','".$field_array[0]."','".$field_array[0]."'");
$query=mssql_query($sql);
if(mssql_query($str_tm))
echo "数据导入成功";
else
echo "数据导入失败";
}

fclose($fd);
}
}
else
echo "打开文件失败了,哈哈!<br>";
mssql_close($link);
//***************************************************************************************

?>
ice_berg16 2005-03-04
  • 打赏
  • 举报
回复
<?php

$dataArray = file( $fileName );
foreach( $dataArray as $record )
{
$fields = explode("|", $record);
$sql = "INSERT INTO tblname values('','" . join("','", $fields) ."')";
mysql_query($sql);
if(mysql_affected_rows())
echo "数据导入成功";
}
?>
ice_berg16 2005-03-04
  • 打赏
  • 举报
回复
自己写一个小程序就是了
<?php

$dataArray = file( $fileName );
foreach( $dataArray as $recrod )
{
$fields = explode("|", $record);
$sql = "INSERT INTO tblname values('','" . join("','", $fields) ."')";
mysql_query($sql);
if(mysql_affected_rows())
echo "数据导入成功";
}
?>
Jzealot 2005-03-04
  • 打赏
  • 举报
回复
我不会delphi,用php就不能实现吗?
Jzealot 2005-03-04
  • 打赏
  • 举报
回复
插到下面三个对应字段
handsomemouse 2005-03-04
  • 打赏
  • 举报
回复
用delphi写一个小程序,把txt一行行的读进来插库很容易的
Jzealot 2005-03-04
  • 打赏
  • 举报
回复
不好意思,大哥,我写漏了
表的结构
LinkID int(4) auto_increment

linkName varchar(40)
LinkUrl varchar(100)
LinkDepict text
xuzuning 2005-03-04
  • 打赏
  • 举报
回复
有3列字符型数据,却只有2个字符型字段
是在和我们开玩笑吧?!

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧