php中查询数据库后批量赋值技巧
<?php
try {
$db=new PDO("mysql:host=localhost;dbname=pxscj","root","root");//实例化PDO类(创建PDO对象)
//$db=new PDO("sqlsrv:Server=localhost;Database=pxscj;","root","root");//只需要改DSN(数据库源名)
}catch (PDOException $e) { //捕获异常--PDOException(Exception的简单重写)
echo "数据库连接失败:".$e->getMessage(); //getMessage()--PDOException类中定义的方法
}
$db->exec("set names utf8"); //exec()--PDO类的方法(执行没有结果集的SQL语句)
$sql="select * from XSB where 性别=0"; //SQL语句
//$result=$db->exec($sql);
$result=$db->query($sql); //执行SQL语句$sql-返回一个PDOStatement类(型)对象
echo "<table border=1 align='center'>";//是一个结果集
echo "<tr><td>学号</td><td>姓名</td><td>总学分</td></tr>";
while($row=$result->fetch(PDO::FETCH_NUM)) //fetch()是PDOStatement类的方法(从结果集行读)
{ //返回的是一个键名为数字(PDO::FETCH_NUM)数组
list($XH,$XM,$XB,$CSSJ,$ZY,$ZXF,$BZ)=$row;//list()将数组中的单元值赋值给变量
echo "<tr><td>$XH</td><td>$XM</td><td>$ZXF</td></tr>";
}
echo "</table>";
?>
其中,这一行是关键:
list($XH,$XM,$XB,$CSSJ,$ZY,$ZXF,$BZ)=$row;//list()将数组中的单元值赋值给变量
无论是导入表格如下:
list($tmp,$id,$xm,$pwd,$xk,$njid,$bjid,$zouban) = $Excelx[$i]; //批量赋值方法,个别无值的地方可用$tmp代替。
empty($pwd) ? $pwd = '000000' : '';
还是导出数据如下:
list($XH,$XM,$XB,$CSSJ,$ZY,$ZXF,$BZ)=$row; //list()将数组中的单元值赋值给变量
都可以用此法,非常简便,不必书写大量代码。
个别字段有特殊要求,可单独在下面判断一下,如上面。