首先有一个演示用的商品信息数据表 items ,里面有15条演示信息。
表结构如下:
接下来我介绍第一种用法:
1,使用 mysqli 对象的 query 方法
首先我们设置好数据库
$db = new mysqli('localhost','root','123456','test');
然后,我们使用 query 方法做一个简单的查询。
$result = $db->query('select * from items');
查询成功后,它返回一个 mysql_result 对象 $result
然后我们使用 mysql_result 对象中的 fetch_row 方法获得结果,该方法,返回的是枚举数组。我们用 while 循环,在用 implode() 函数 将 数组 拼接成 字符串 输出!
while($v = $result->fetch_row())
{
echo implode(' | ',$v).'
';
}
或者也可使用 fetch_all() 来获得全部结果。
最后,关闭 $result 对象 和 数据库连接。
$result->close();
$db->close();
2. 使用 mysqli 对象的 prepare 方法
同样先设置好数据库
$db = new mysqli('localhost','root','123456','test');
然后使用 prepare 方法,创建一条 预编译 sql 语句
$stmt = $db->prepare('select id,title from items');
返回一个 statement 对象 $stmt
然后 执行 这条预编译 sql 语句
$stmt->execute();
接下来,获取查询结果。遇上例 不同的是,此次查询结果需要绑定到变量中才能获得。
绑定变量的数量 与 sql 查询语句中 设置的字段有关,设置了几个查询字段,就绑定几个变量。
本例中设置了两个字段 分别是 id,title 所以绑定变量两个。
例如:
$stmt->bind_result($id,$title);
这一步 我们在 通过 statement 对象的 fetch() 方法 获取结果。
while($stmt->fetch()){
echo implode(' | ',[$id,$title]).'
';
}
通过 while 循环,将结果一行一行的输出。
最后,关闭 $stmt 对象 和 数据库连接。
$stmt->close();
$db->close();