十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
?php
创新互联公司凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了成都网站建设、做网站服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。
$file_dir="1.txt";
$fp=fopen($file_dir,"r");
$content=fread($fp,filesize($file_dir));//读文件
fclose($fp);
function replaces($str)//为各字段添加''
{
foreach($str as $k=$v)
{
$str[$k]="'".trim($v)."'";
}
return $str;
}
function Get_item($tmp1,$tmp2,$cont,$sq)//取得sql语句;tmp1为记录分割点,tmp2为字段分割点
{
$tmp_rows=explode($tmp1,$cont);
foreach($tmp_rows as $key=$value)
{
$tmp_rows2[$key]=replaces(explode($tmp2,trim($value)));
$sql[$key]=$sq.implode(",",$tmp_rows2[$key]).")\"";
}
return $sql;
}
$sq="\"insert into table1 (a1,a2,a3) values (";//sql的前半部分,要完善!
$sql=array();
$sql=Get_item("-"," ",$content,$sq);
//$db=mysql_connect("localhost","root","abc");//联接mysql,自己加
//mysql_select_db(....
foreach($sql as $v)
{
mysql_query($v);//执行sql;
}
//mysql_close($db);
?
或者生成一个1.sql文件,再把它导入mysql;
注意。当你生成txt文件时,先将txt另存为一下修改一下txt文件的编码,txt默认是采用ascii格式,换成utf8吧
PHP向MySQL数据库中写入数据有三个步骤:
1,PHP和MySQL建立连接关系
2,打开MySQL数据库
3,接受页面数据,PHP录入到指定的表中
1、2两步可直接使用一个数据库链接文件即可:conn.php
代码如下
?php
mysql_connect("localhost","root","");//连接MySQL
mysql_select_db("hello");//选择数据库
?
当然,前提是已经安装WEB服务器、PHP和MySQL,并且建立MySQL表“cnbruce”
mysql_connect()中三个参数分别为MySQL地址、MySQL用户名和MySQL密码
然后就是通过WEB页面传递数据,让PHP通过SQL语句将数据写入MySQL数据库指定的表中,比如新建文件 post.php
代码如下
?php
require_once("conn.php");//引用数据库链接文件
$uname = $_GET['n'];//GET方法为URL参数传递
$psw = $_GET['p'];
$psw=md5($psw);//直接使用MD5加密
$sql = "insert into members(username,password) values ('$uname','$psw')";
mysql_query($sql);//借SQL语句插入数据
mysql_close();//关闭MySQL连接
echo "成功录入数据";
?
测试页面: ;p=i0514
即可向MySQL数据库hello的members表中插入新的数据“cnbruce”到username字段、“i0514”到password字段
补充:读取表
读取表中的内容,这里我们用while,可以根据具体情况,用for 或其他的.
代码如下
while($row = mysql_fetch_array($result))
{
echo "div style="height:24px; line-height:24px; font-weight:bold;""; //排版代码
echo $row['Topic'] . "br/";
echo "/div"; //排版代码
form表单demo:task.html
fieldset id="setFiled"
legend发布任务/legend
form action="registr.php" method="post" id="steForm"
label任务类型:/labelbr
input type="text" name="type" id="taskType" placeholder="请选择任务类型"/br
label酬nbsp;nbsp;金:/labelbr
input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr
label截止时间:/labelbr
input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr
label详细描述:/labelbr
textarea maxlength="512" name="textAray" id="msgArea"/textareabr
input type="submit" name="subMit" id="forSub" value="点击发布" /
/form
扩展资料
php接收POST数据的三种方式
1、$_POST 方式接受数据
$_POST 方式是由通过HTTP的POST方法传递过来的数据组成的数组,是一个自动全局变量。
注:只能接收Content-Type:application/x-www-form-urlencode提交的数据。也就是只能接收表单过来的数据。
2、GLOBLES[‘HTTP_RAW_POST_DATA’]
如果访问原始POST数据不是php能够识别的文档类型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]来接收,$HTTP_RAW_POST_DATA变量包含有原始POST数据。此变量仅在碰到未识别的MIME数据时产生。
注:$HTTP_RAW_POST_DATA对于enctype=”multipart/form-data”表单数据不可用,也就是说使用$HTTP_RAW_POST_DATA无法接受网页表单post过来的数据。
3、file_get_contents(“php://input”);
如果访问原始POST数据,更好的方法是使用file_get_content(“php://input”);对于未指定Content-Type的POST数据,可以使用该方法读取POST原始数据,包括二进制流也可以和$HTTP_RAW_POST_DATA比起来。它带来的生存眼里更小,并且不需要任何特殊的php.ini设置。
注:php://input不能用于 enctype=”multipart/form-data”
例如:$postStr = file_get_contents("php://input"); //获取POST数据
//第一种
?php
$conn = mysql_connect("主机名","用户名","密码");
mysql_select_db("数据库名",$conn);
$sql = "select * from user";
$result = mysql_query($sql);
$data="";
while($row = mysql_fetch_row($result)){
foreach($row as $v){
$data .=$v."|"; //加个树线隔开字段
}
nl2br($data); //读完一行回车
}
file_put_contents("abc.txt",$data);
//第二种
?php
$filename = "abc.txt";
$res = fopen($filename,"r");
while(!feof($res)){
$buffer = fgets($res);
$buffer = str_replace(' ', '|', $buffer);
$array = explode('|', $buffer);
foreach($array as $v){
if(strlen($v)0){
$arr[] = $v;
}
}
}
fclose($res);
//组装数组插入数据库就可以了
问题在这句代码上:
while($rs=mysql_fetch_object($result)){
$a=array(array('title'=$rs-title,ln=$rs-path));
}
你每次都用“=”赋值把原来的数组$a覆盖掉了,所以循环到最后只有最后一个结果,就是你所说的“只能显示一条记录”。
使用array_push就可以解决问题,至于具体语句怎么写你自己琢磨一下吧,这样印象才能深刻。
服了,代码如下:
$a = array();
while($rs=mysql_fetch_object($result)){
array_push($a,array('title'=$rs-title,ln=$rs-path));
}