原生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 uid5");
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/html; charset=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 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。
PHP链接数据库有几种方式
mysqli:
?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn-connect_error) {
die("连接失败: " . $conn-connect_error);
}
echo "连接成功";
?
也可以使用PDO进行链接,前提是你必须在php.ini中开启PDO:
?php
$servername = "localhost";
$username = "username";
$password = "password";
try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e-getMessage();
}
?
建议使用PDO,功能更加强大,兼容各种数据库
关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅,我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?
//链接数据库
$db=mysql_connect("localhost", "root","123456");
$sqlname="database";
mysql_select_db($sqlname,$db);
session_start();
mysql_query("SET NAMES 'utf8'",$db);
?
?
//创建结果集
$sql = "SELECT * FROM kecheng";
$result = mysql_query($sql);
$rs= mysql_fetch_array($result);
?
?
//修改数据
$sql = "UPDATE news SET title='1111' where news_id=1";
$result = mysql_query($sql);
?
?
//删除数据
$sql = "DELETE from news where news_id=1";
$result = mysql_query($sql);
?
?
//添加数据
$sql = "INSERT INTO news (title,fenshu) VALUES ('a',1)"
$result = mysql_query($sql);
?