怎样试用PHP原生语句查询数据库

怎样试用PHP原生语句查询数据库,第1张

原生SQL查询有 query() 和 execute() 两个方法

query():用于 SQL 查询 *** 作,并返回符合查询条件的数据

execute():更新和写入数据的 SQL *** 作,返回影响的记录数

query()

query() 方法是用于 SQL 查询 *** 作,和select()方法一样返回符合查询条件的数据集。

例子:

public function read(){

// 实例化一个空模型,没有对应任何数据表

$Dao = M()

//或者使用 $Dao = new Model()

$list = $Dao->query("select * from user where uid<5")

if($list){

$this->assign('list', $list )

$this->display()

} else {

$this->error($Dao->getError())

}

}

对于 query() 方法返回的数据集,跟 select() 一样,可以在模板里直接循环输出。

execute()

execute() 方法用于更新和写入数据的 SQL *** 作(注:非查询 *** 作,无返回数据集),返回影响的记录数。

例子:

public function read(){

header("Content-Type:text/htmlcharset=utf-8")

// 实例化一个空模型,没有对应任何数据表

$Dao = M()

//或者使用 $Dao = new Model()

$num = $Dao->execute("update user set email = '12345@xxx.com' where uid=3")

if($num){

echo '更新 ',$num,' 条记录。'

}else{

echo '无记录更新'

}

}

如果查询比较复杂或一些特殊的数据 *** 作不能通过 ThinkPHP 内置的 ORM 和 ActiveRecord 模式实现时,就可以通过直接使用原生 SQL 查询来实现。

注意:以上都是 user 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。

mysqli有两种数据库连接方式:

1、面向过程式连接:

mysqli_connect('localhost','xxx','xxx','xxx')

mysqli_query('')

后使用mysqli_fetch_assoc方法获取到数据。

2、面向对象式连接:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world")

$result = $mysqli->query('')

后使用$result->fetch_assoc()获取数据。

至于num_rows是获取查询到的行数的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9574875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存