十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果你会点php基础我可以给你点参考意见
目前创新互联已为近1000家的企业提供了网站建设、域名、网页空间、网站托管维护、企业网站设计、丹凤网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
一个是,你这个文件肯定是txt格式的
$fp = fopen('xxx.txt','r');//用只读方式打开文件
$getsource = fgets($fp);//读取第一行,主要是用于去除第一行
while(!feof($fp)){
$getsource = fgets($fp);//获取有用数据
$insource = explode(" ", $getsource);//把一行文字变成数组,按符号分割
/*---------------下面写数据存储的sql-------------------*/
......
/*---------------上面写数据存储的sql-------------------*/
}
我默认为你对php和mysql是熟悉的,不然你也不会打算用php写这个程序,我只提供你点思路,php对文件操作不熟悉的话你可以参考下这篇文章
;id=77class=2
希望对你有帮助
function Encode16T10($str){
preg_match_all("/\w/",$str,$date);
$date=$date['0'];
foreach($date as $key=$val){
switch($val){
case a:case A:
echo 10;
break;
case b:case B:
echo 11;
break;
case c:case C:
echo 12;
break;
case d:case D:
echo 13;
break;
case e:case E:
echo 14;
break;
case f:case F:
echo 15;
break;
default:
echo $val+10;
}
}
}
Encode16T10("a2c");//里面的a2c是你可以随便改的,只要是16进制数就行,看输出结果是否符合你的要求
很简单,用循环,你那样用只能有一条记录,建议多看看php手册,对自己有好处
while ($result= mysql_fetch_array($result, MYSQL_NUM)) {
print_r($result);
}
php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法。
解决中文插入数据库乱码的方法:
直接把中文转变成utf-8格式,大多是这个问题导致的。
代码如下复制代码
$str = iconv('gbk','utf-8',$str);
如果还不行检查网页编码是否正确:
代码如下复制代码
?php
header("Content-Type:text/html;charset=utf-8");
?
建表:
代码如下复制代码
Create TABLE `net_city` (
`cityid` smallint(4) NOT NULL auto_increment,
`cityname` varchar(80) NOT NULL default '',
`provinceid` smallint(2) NOT NULL default '0',
`inarea` varchar(5000) NOT NULL default '',
`outarea` varchar(5000) NOT NULL default '',
`tel` varchar(400) NOT NULL default '',
PRIMARY KEY (`cityid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
PHP里的代码:
$conn=mysql_connect("localhost", "用户名", "密码");
mysql_query("set names 'utf8'",$conn);
mysql_select_db(" 数据名",$conn);
$exec="insert into net_city (cityname,inarea,outarea,tel) values ('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')";
$result=mysql_query($exec,$conn);
if($result){
echo "1";
}else{
echo "0";
}
mysql_close($conn);
后来我试了试全部都用成gbk的,也是可以的~
在查询数据时我们直接使用mysql_query()来设置
mysql_query("SET NAMES GBK"); //GBK处为编码设置
例子
下面是 "insert.php" 页面的代码:
代码如下复制代码
?php$con = mysql_connect("localhost","peter","abc123");
if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
mysql_query("SET NAMES GBK"); //GBK处为编码设置
$sql="INSERT INTO person (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{ die('Error: ' . mysql_error()); }
echo "1 record added";
mysql_close($con)
?
还有一种可能是编码错误,包括页面编码及数据库编码。
可能导致录入数据乱码。
是不是你数据库那个字段给设置成了int型了(这种情况基本没有可能,因为如果不是int型它会报错)?或者是你在向数据库插入的时候,将a,b,c转换成了int型?最好把你的程序代码贴出来,也好帮你找错误。