连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。
创新互联建站主要从事网站建设、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务杭州,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
?
$dbh = @mysql_connect("localhost:3306","root","9999");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error");}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */
@mysql_select_db("ok", $dbh);
/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */
$q = "SELECT * FROM abc";
/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */
?
br /
!--========= 方法一 =========--
br /
?
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!");}
echo "table";
echo "trtdID/tdtdName/td/tr";
while($row = mysql_fetch_row($rs)) echo "trtd$row[0]/tdtd$row[1]/td/tr";
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "/table";
?
br /
!--========= 方法二 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_object($rs)) echo "$row-id $row-name br /";
/* id和name可以换位置 */
?
br /
!--========= 方法三 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] br /";
/* id和name可以换位置 */
?
!--========= 方法三最快 =========--
?
@mysql_close($dbh);
/* 关闭到mysql数据库的连接 */
?
php有个PHPExcel扩展,是可以实现你的要求的。
我这里有个可以读取多个工作薄的自定义excel类,试试看:
?php
/**
*excel.class.php
*/
class Excel
{
/**
* 从excel文件中取得所有数据。并转换成指定编码格式。
* $toCode 表示需要转换成的编码格式,目前扩充了utf8,gbk2312,html三种格式。
* @return 返回二维数组。
*/
static function getDataFromExl($filePath,$toCode = "utf8")
{
$fh = @fopen($filePath,'rb');
if( !$fh || filesize($filePath)==0 )
{
return -1; //文件不可读或者为空
}
$fc = fread( $fh, filesize($filePath) );
@fclose($fh);
if( strlen($fc) filesize($filePath) )
{
return -2; //读取错误
}
$exc = new ExcelFileParser();
$res = $exc-ParseFromString($fc);
$ws_number = count($exc-worksheet['name']);//取得工作薄数量
if( $ws_number 1 )
{
return -3;
}
for ($ws_n = 0; $ws_n $ws_number; $ws_n++)
{
$ws = $exc - worksheet['data'][$ws_n];
$data = $ws['cell'];
foreach($data as $k=$v) //一行数据
{
$row = null;
foreach($v as $a=$d) //一行数据的一个字节
{
$value = null;
if(count($d) == 1)
{
continue;
}
if($d['type'] == 0) //如果是字符类型则转换成为指定编码格式
{
$ind = $d['data'];
if( $exc-sst['unicode'][$ind] ) //返回数据编码格式
{
switch($toCode)
{
case "utf8":
$s = Strings::uc2utf8($exc-sst['data'][$ind]);
break;
case "gbk":
$s = Strings::uc2gbk($exc-sst['data'][$ind]);
break;
case "html":
$s = Strings::uc2html($exc-sst['data'][$ind]);
break;
default:
$s = Strings::uc2utf8($exc-sst['data'][$ind]);
break;
}
}
else
{
$s = $exc-sst['data'][$ind];
}
if( strlen(trim($s))==0 || $s === null )
{
$value = '';
}
else
{
$value = $s;
}
}
elseif($d['type'] == 3)
{
$time_list = explode('.', $d['data']);
$time_format = $time_list[2].'-'.$time_list[0].'-'.$time_list[1];
$timestamp = strtotime($time_format);
$value = date("Y-m-d H:i:s", $timestamp);
}
else
{
$value = $d['data'];
}
$row[$a] = $value;
}
$recordList[] = $row;
}
}
return $recordList;
}
}
require_once('./excel.class.php');
$emailData = Excel::getDataFromExl($_FILES['file_name']['tmp_name']);
describe tablename; //获取表结构信息
describe tablename fieldname; //获取表的某个字段结构信息
比如:describe users username; //获取users表的username字段的结构信息
返回:array(
'Field' ='username',
'Type' ='varchar(50)',
'Null' ='NO',
'Key' ='UNI',
'Default' ='',
'Extra' =''
)