当前位置: 代码迷 >> 综合 >> PDO::prepare mysql
  详细解决方案

PDO::prepare mysql

热度:82   发布时间:2024-01-21 08:59:18.0

<?php
/* 通过数组值向预处理语句传递值 */
$sql = 'SELECT name, colour, caloriesFROM fruitWHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>


使用问号(?)参数来准备SQL语句


<?php
/* 通过数组值向预处理语句传递值 */
$sth = $dbh->prepare('SELECT name, colour, caloriesFROM fruitWHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

http://www.runoob.com/php/pdo-prepare.html

其返回值是一个包含结果集中所有数据的二维数组。

下面我们通过 fetchAll()方法获取结果集中的所有行,并且通过 for 语句读取二维数组中的数据,完成数据库中数据的循环输出,具体步骤如下:

首先创建php文件,通过 PDO 连接MySQL 数据库,然后定义 SELECT查询语句,应用 prepare()和execute()方法执行查询操作,接着,通过fetchAll()方法返回结果集中的所有行,最后使用 for 语句完成结果集中所有数据的循环输出,代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
try{$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo$query="select * from user";//需要执行的sql语句$res=$pdo->prepare($query);//准备查询语句$res->execute();            //执行查询语句,并返回结果集?><table border="1" width="500"><tr><td height="22" align="center" valign="middle">id</td><td height="22" align="center" valign="middle">用户名</td><td height="22" align="center" valign="middle">密码</td></tr><?php$result=$res->fetchAll(PDO::FETCH_ASSOC) ;        // 获取结果集中的所有数据。for ($i=0;$i<count($result);$i++){          //循环读取二维数组中的数据。?><tr><td height="22" align="center" valign="middle"><?php echo $result[$i]['id'];?></td><td height="22" align="center" valign="middle"><?php echo $result[$i]['username'];?></td><td height="22" align="center" valign="middle"><?php echo $result[$i]['password'];?></td></tr>
<?php}
}catch(Exception $e){die("Error!:".$e->getMessage().'<br>');
}
?>
</table>

结果

fetchall
  相关解决方案