绑定和数据的循环bindParam()和bindValue()

原创 2018-11-11 19:13:22 191
摘要:<?php //参数绑定/** 1、参数绑定bindParam()和bindValue()  2、fetch()与while()    列绑定bindColumn 执行的结果集和变量绑定  bindParam(),绑定一个参数(sql中的占位符)到指定的变量。          &n

<?php 

//参数绑定

/*

* 1、参数绑定bindParam()和bindValue()

  2、fetch()与while()  

  列绑定bindColumn 执行的结果集和变量绑定


  bindParam(),绑定一个参数(sql中的占位符)到指定的变量。


                     占位符   变量      PDO数据类型

  $stmt->bindParam(':status',$status,PDO::PARAM_INT);

  bindValue():将一个值绑定到参数(sql中的占位符)上,这个值可以是字面量,也可以放在变量中


  compact()变量名的字符串或者是一个包含变量名的数组

                    占位符  字面量 pdo数据类型

  $stmt->bindValue(':status',1,PDO::PARAM_INT);

*/


//1、连接数据库


  $pdo= new PDO('mysql:host=127.0.0.1;dbname=php_edu','root','root');


//2.执行查询

  $sql="SELECT `user_id`,`name`,`emall`,`create_time` FROM `user` WHERE `status`=:status ";

//3.验证$sql语句并生成出里对象

  $stmt=$pdo->prepare($sql);


// $stmt->execute(['status'=>1]);

 // 参数绑定  1

  

$status=1;

//$stmt->bindParam(':status',$status,PDO::PARAM_INT);

$stmt->bindValue(':status',1,PDO::PARAM_INT);


$stmt->execute();

//4.遍历结果4

// $row=$stmt->fetch(PDO::FETCH_ASSOC);

// echo print_r($row).'<hr>';

$stmt->bindColumn(1,$user_id,PDO::PARAM_INT);

$stmt->bindColumn(2,$name,PDO::PARAM_STR,20);

$stmt->bindColumn(3,$emall,PDO::PARAM_STR,100);

$stmt->bindColumn(4,$create_time,PDO::PARAM_STR,100);


//5、循环遍历数组

$rows=[];

while ($stmt->fetch(PDO::FETCH_BOUND)) {


$rows[]=compact('user_id','name','emall','create_time') ;

}


//6.释放结果


//$stmt=null;


//7.关闭连接

//$pdo=null;


//print_r($rows);

echo date('Y/m/d')

 ?>

  <style>

   table,th,td {

        border: 1px solid #333;

    }

    table {

        text-align: center;

        border: 1px solid #333;

        width: 50%;

        margin: 30px auto;

        border-collapse: collapse;

    }

    table caption {

        font-size: 1.5em;

        font-weight: bolder;

        margin-bottom: 15px;

    }

    table tr:first-child {

        background-color: lightblue;

    }

</style>

<table>

    <caption style="">用户信息表</caption>

    <tr>

        <th>ID</th>

        <th>姓名</th>

        <th>邮箱</th>

        <th>注册时间</th>

    </tr>

    <?php foreach ($rows as $row) :?>

        <tr>

            <td><?php echo $row['user_id'] ?></td>

            <td><?php echo $row['name'] ?></td>

            <td><?php echo $row['emall'] ?></td>

            <td><?php echo date('Y/m/d',$row['create_time']) ?></td>

        </tr>

    <?php endforeach;?>

</table>


<style type="text/css">

table,th td{


border: 1px solid #333;

}

table{

text-align: center;

border: 1px solid #333

width:50%;

margin: 30px auto;

border-collapse: collapse;


}

table caption{


font-size: 1.5em;

font-weight: bolder;

margin-bottom: 15px;

}

table tr:first-child{

background-color: lightblue;

}


</style>

<table>

<caption style="">用户信息表</caption>

<tr>

<th>ID</th>

<th>姓名</th>

<th>邮箱</th>

<th>注册时间</th>

</tr>

<?php foreach ($rows as $row):?> 


<tr>

<td><?php echo $row['user_id']?></td>

<td><?php echo $row['name']?></td>

<td><?php echo $row['emall']?></td>

<td><?php echo date('Y/m/d',$row['create_time'])?></td>

</tr>

<?php endforeach;?>


<?php

foreach ($rows as $row ) {


echo '<tr>';

echo "<td>就快明白了</td>";

echo '<td>'.$row['user_id'].'</td>';

echo '<td>'.$row['name'].'</td>';

echo '<td>'.$row['emall'].'</td>';

echo '<td>'.date('Y/m/d',$row['create_time']).'</td>';

echo '</tr>';

}




?>


</table>


批改老师:天蓬老师批改时间:2018-11-12 07:36:57
老师总结:写得非常完整,下次可以有创意一些,不必过多模仿课程中的内容

发布手记

热门词条