首页 > 后端开发 > 正文

php链接数据库的框架 php知识框架总结

2023-10-06 01:36:46 | 我爱编程网

后端开发是很多朋友有关注的类型,那么php链接数据库的框架 php知识框架总结,我爱编程网为大家带来了相关文章,希望给大家提供参考。

php链接数据库的框架 php知识框架总结

yii框架怎么连接数据库



yii框架配置数据库连接

开始之前,请确保你已经安装了 PHP PDO 扩展和你所使用的数据库的 PDO 驱动(例如 MySQL 的 pdo_mysql)。 对于使用关系型数据库来讲,这是基本要求。 (推荐学习:yii框架)
驱动和扩展安装可用后,打开 config/db.php 修改里面的配置参数对应你的数据库配置。 该文件默认包含这些内容:
<?php
return [
'class' => 'yiidbConnection',
'dsn' => 'mysql:host=localhost;dbname=yii2basic',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
];config/db.php 是一个典型的基于文件的配置工具。 这个文件配置了数据库连接 yiidbConnection 的创建和初始化参数, 应用的 SQL 查询正是基于这个数据库。
上面配置的数据库连接可以在应用中通过 Yii::$app->db 表达式访问。
信息: config/db.php 将被包含在应用配置文件 config/web.php 中, 后者指定了整个应用如何初始化。创建活动记录
创建一个继承自活动记录类的类 Country, 把它放在 models/Country.php 文件,去代表和读取 country 表的数据。
<?php
namespace appmodels;
use yiidbActiveRecord;
class Country extends ActiveRecord
{
}这个 Country 类继承自 yiidbActiveRecord。你不用在里面写任何代码。 只需要像现在这样,Yii 就能根据类名去猜测对应的数据表名。
信息: 如果类名和数据表名不能直接对应, 可以覆写 tableName() 方法去显式指定相关表名。使用 Country 类可以很容易地操作 country 表数据,就像这段代码:
use appmodelsCountry;
// 获取 country 表的所有行并以 name 排序
$countries = Country::find()->orderBy('name')->all();
// 获取主键为 “US” 的行
$country = Country::findOne('US');
// 输出 “United States”
echo $country->name;
// 修改 name 为 “U.S.A.” 并在数据库中保存更改
$country->name = 'U.S.A.';
$country->save();信息: 活动记录是面向对象、功能强大的访问和操作数据库数据的方式。你可以在活动记录章节了解更多信息。 除此之外你还可以使用另一种更原生的被称做数据访问对象的方法操作数据库数据。
创建动作

为了向最终用户显示国家数据,你需要创建一个操作。相比之前小节掌握的在 site 控制器中创建操作, 在这里为所有和国家有关的数据新建一个控制器更加合理。 新控制器名为 CountryController,并在其中创建一个 index 操作, 如下:
<?php
namespace appcontrollers;
use yiiwebController;
use yiidataPagination;
use appmodelsCountry;
class CountryController extends Controller
{
public function actionIndex()
{
$query = Country::find();
$pagination = new Pagination([
'defaultPageSize' => 5,
'totalCount' => $query->count(),
]);
$countries = $query->orderBy('name')
->offset($pagination->offset)
->limit($pagination->limit)
->all();
return $this->render('index', [
'countries' => $countries,
'pagination' => $pagination,
]);
}
}把上面的代码保存在 controllers/CountryController.php 文件中。
index 操作调用了活动记录 Country::find() 方法,去生成查询语句并从 country 表中取回所有数据。 为了限定每个请求所返回的国家数量,查询在 yiidataPagination 对象的帮助下进行分页。 Pagination 对象的使命主要有两点:
为 SQL 查询语句设置 offset 和 limit 从句, 确保每个请求只需返回一页数据(本例中每页是 5 行)。
在视图中显示一个由页码列表组成的分页器, 这点将在后面的段落中解释。
在代码末尾,index 操作渲染一个名为 index 的视图, 并传递国家数据和分页信息进去。
创建视图
在 views 目录下先创建一个名为 country 的子目录。 这个目录存储所有由 country 控制器渲染的视图。在 views/country 目录下 创建一个名为 index.php 的视图文件,内容如下:
<?php
use yiihelpersHtml;
use yiiwidgetsLinkPager;
?>
<h1>Countries</h1>
<ul>
<?php foreach ($countries as $country): ?>
<li>
<?= Html::encode("{$country->name} ({$country->code})") ?>:
<?= $country->population ?>
</li>
<?php endforeach; ?>
</ul>
<?= LinkPager::widget(['pagination' => $pagination]) ?>这个视图包含两部分用以显示国家数据。第一部分遍历国家数据并以无序 HTML 列表渲染出来。 第二部分使用 yiiwidgetsLinkPager 去渲染从操作中传来的分页信息。 小部件 LinkPager 显示一个分页按钮的列表。 点击任何一个按钮都会跳转到对应的分页。
试运行
浏览器访问下面的 URL 看看能否工作:

php链接数据库的框架 php知识框架总结

php连接数据库几种方式



PHP 5 及以上版本建议使用以下方式连接 MySQL :
MySQLi :MySQLi 只针对 MySQL 数据库,MySQLi 还提供了 API 接口。PDO (PHP Data Objects):PDO 应用在 12 种不同数据库中。
共同点:
1. 两者都是面向对象
2. 两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。
确保wamp里已经安装好了MySQLi或PDO,查看方式:echo phpinfo();
接下来将会使用以下三种方式来演示 PHP 操作 MySQL:
1.、MySQLi——面向对象
<?php
header('Content-Type: text/html;charset=utf-8');
//echo phpinfo();
// MySQLi面向对象
// 在我们访问MySQL数据库之前,我们需要先连接到数据库服务器
$servername = "localhost";
$username = "root";
$password = "";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if($conn -> connect_error)
{
die("连接失败:". $conn->connect_error);
}
echo "连接成功";
?>2、MySQLi——面向过程

<?php
header('Content-Type: text/html; charset=utf-8');
// MySQLi - 面向过程
$servername = "localhost";
$username = "root";
$password = "";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if(!$conn)
{
die("连接失败:" . mysqli_connect_error());
}
echo "连接成功";
?>3、PDO连接MySQL数据库
PDO要设置数据库名,如果没有指定,则会抛出异常
<?php
header('Content-Type: text/html; charset=utf-8');
// PDO连接MySQL数据库
// PDO要设置数据库名,如果没有指定,则会抛出异常
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mugua";
try
{
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
echo "连接成功";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>连接在脚本执行完毕后会自动关闭,也可以使用代码关闭连接:
1、MySQLi - 面向对象

$conn->close();
2、MySQLi - 面向过程
mysqli_close($conn);
3、PDO
$conn = null;
推荐教程:PHP视频教程

php链接数据库的框架 php知识框架总结

php知识框架总结

php知识框架总结

篇一:php基础知识点总结

PHP语言基础简单整理

1.开始结束标记的格式只有在没有判断语句时才能使用。

对表单传递的变量进行编码和解码:PHP中实现对查询字符串进行URL编码可以通过函数urlencode()实现,该函数的使用格式如下:string urlencode(string str);对URL编码后的查询字符串进行解码,可以通过urldecode()函数实现,该函数的使用格式如下:string urldecode(string str);

15.PHP连接数据库:

步骤: 一、建立连接------mssql_connect(server,uid,pwd);

二、指定database-------mssql_select_db(databasename);

三、执行sql------mssql_query($sql,$link);

四、处理记录集-------资源类型数据,格式:bof---数据---eof

五、以特定格式读取数据-----mssql_fetch_array()....

六、释放相关资源、关闭连接------mssql_free_result($result);mssql_close();

16.数组:php的数组由键值和value值组成

定义:$array = array("键值"=>"value","键值"=>"value","键值"=>"value");如果不给键值赋值,默认从0开始的int值

相关函数:(1)in_array("值",数组名); 返回bool型-----查看数组中是否存在某value值

(2)array_key_exists("key值",数组名); 返回bool型-----查看数组中是否存在某键值

(3)array_keys(数组名);---将数组键值返回出来形成一个新数组,此键值作为新数组的value值

(4)array_values(数组名);---将数组value值返回出来形成一个新数组,此值作为新数组的value值

(5)key(数组名);----返回当前指针指向的元素key值

(6)current(数组名);----返回当前指针指向的元素value值

(7)next(数组名);----挪动当前数组指针到下一步 我爱编程网

(8)reset(数组名);----恢复数组指针,指向第0个元素

(9)end(数组名);----将指针挪向最后一个元素

(10)prev(数组名);----将指针向前挪动一位

(11)foreach(数组名 as $key=>$value)

{

$key是键值,$value是value值,实现数组遍历

}

(12)each(数组名);----将当前数组元素依次取出(自动挪动指针)并放到一个新的数组中

(13)array_shift(数组名);----返回数组中第一个元素值

(14)array_pop(数组名);----返回数组最后一个元素值

(15)array_push(数组名,value);----向数组中追加元素

(16)array_unshift(数组名,value);----在数组最前面添加元素

(17)array_pad(数组名,数组长度,value);----向数组中追加多个元素,对数组副本操作,不改变原数组,返回一个新数组

(18)count();----返回个数

(19)array_unique(数组名);----去掉数组中重复部分,操作数组副本,不改变原数组,返回新数组

(20)sort(数组名);----从小到大升序排列数组value值,一般针对int型value值,返回bool型,成功返回true

(21)rsort(数组名);----从大到小,逆序排列数组value值

(22)array_combine(数组1,数组2);----将数组1的value值作为key,数组2的value值作为value值,形成一个新数组

(23)array_merge(数组1,数组2,数组3...);----合并多个数组,将多个数组value值依次合并,合为一个数组

(24)array_slice(数组名,int,int);----从目标数组截取元素,形成一个新数组。开始位置为第二个参数,结束位置为第三个参数。若第三个参数不写,则默认是截取到最后。

(25)array_splice();----用法同array_slice();但是其截取部分从原数组中删除

(26)explode("字符依据",目标字符串);----将字符串按照一定的依据拆分成数组

(27)implode("字符依据",目标数组);----将数组元素按照依据组合成一个字符串

(28)range(mixed low,mixed high[number step]);----生成数组,例:range(1,100,8);---即从1到100,每8位取一个数,组成一个数组

(29)shuffle(数组名);----用于将数组进行随机排序

(30)array_sum(数组名);----对数值型数组元素值进行求和

(31)array_chunk(数组名,int);----分割目标数组,返回一个新数组,其中数组的每个元素都是一个一维数组,int参数为分割成的一维数组的长度

17.Cookie和会话控制:

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie是由Web服务器保存在客户机上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。

存在server端的是session,存在client端的是cookie,它们用来存储全局变量。 设定Cookie值:setcookie("名","值");

通过Cookie数组取值:$_cookie["名"];

设置生成期:setcookie("名","值",time()+1800);生成期为当前时间加1800秒之后。

删除cookie: setcookie("名","",time()-3600);中间值设置为空,并将当前时间减去3600秒。 Cookie数组:setcookie("名[key]","值"); 使用foreach读取。

在PHP中可以通过$_COOKIE预定义变量访问Cookie的值。如果设置了php.ini中的register_long_arrays,那么就能够应用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中还设置了register_globals,那么就可以在PHP中作为全局变量使用各个Cookie值。但是,更改php.ini中的两个文件设置,容易对PHP的安全构成威胁,不推荐使用该方法,建议使用更新的$_COOKIE。

会话ID的传送

会话ID的传送有两种方式,一种是Cookie方式,另一种是URL方式。

Cookie传送方式:

这是最简单的会话方式,但是有些客户可能限制使用Cookie,如果客户限制使用Cookie的条件下,仍要继续工作,那就要通过其他方式来实现了。

URL传送方式:

在该方式中,URL本身用来传送会话,会话标志被简单地附加到URL的尾部,或者作为窗体中的一个变量来传递。例:

以上就是我爱编程网为大家带来的php链接数据库的框架 php知识框架总结,希望能帮助到大家,了解更多相关信息,敬请关注我爱编程网。
与“php链接数据库的框架 php知识框架总结”相关推荐
php涉及数据库级联框架 php知识框架总结
php涉及数据库级联框架 php知识框架总结

php如何实现级联php实现级联的方法:首先创建fun.js文件,并向服务器发送GET请求;然后创建index.php,并使用jQuery制作级联下拉选择框选择地区;最后创建好returnpc.php和pc.php即可。推荐:《PHP视频教程》jQueryajax+PHP实现的级联下拉列表框功能:一代码fun.js://JavaScriptDocument$(doc

2023-10-03 08:07:15
php框架引入链接 php知识框架总结
php框架引入链接 php知识框架总结

php中如何调用一个网址你在go.php里面写下面的代码:$url=$_GET['s'];switch($url){casezhidao:header("location:这里是你地址写上就行")exit();break;//……}注意运行php,在地址栏上输入看看我的回答还行吧,有不会的更多问题可以去后盾网论坛问题求助专区,可以帮助你很多!ph

2023-09-11 15:13:35
教学资源库框架php php知识框架总结
教学资源库框架php php知识框架总结

php都有哪些框架?1.YiiYii是一个基于组件的高性能的PHP的框架,用于开发大规模Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主体化,I18N和L10N,Yii提供了今日Web2.0应用开发所需要的几乎一切功能。而且这个框架的价格也并不太高。事实

2023-09-30 20:44:35
php数据库连接框架 怎么用php连接数据库
php数据库连接框架 怎么用php连接数据库

thinkphp怎么连接数据库thinkphp连接数据库的方法:ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持,如果应

2023-09-24 15:50:05
php刚接触框架怎么用 php知识框架总结
php刚接触框架怎么用 php知识框架总结

PHP框架问题框架的具体作用,说说平时工作中是怎么运用框架的框架就是一栋钢筋水泥的毛坯房,里面已经搭建好了很多公共的东西。就是说里面封装好了很多类,如路由,DB,图片处理,URI,Email等等的类。在框架上开发,只需要调用其方法,然后再自行扩展些新类。就可以满足需求。框架一般都是面向对象;所以在多用户开发的系统使用框架的话会节约开发时间,提高工作效率,且扩展性较强,代码重复利

2023-09-26 22:05:32
php数据库连接框架是 thinkphp怎么连接数据库
php数据库连接框架是 thinkphp怎么连接数据库

thinkphp怎么连接数据库thinkphp连接数据库的方法:ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持,如果应

2023-10-04 05:55:04
php框架连接数据库 PHP7连接mysql数据库方法
php框架连接数据库 PHP7连接mysql数据库方法

几种常用PHP连接数据库的代码示例PHP连接数据库之PHP连接MYSQL数据库代码&lt;?php$mysql_server_name=localhost;//改成自己的mysql数据库服务器$mysql_username=root;//改成自己的mysql数据库用户名$mysql_password=;//改成自己的mysql数据库密码

2023-10-04 11:14:00
php实现框架数据库链接封装 如何写一个属于自己的数据库封装(2)
php实现框架数据库链接封装 如何写一个属于自己的数据库封装(2)

如何写一个属于自己的数据库封装(2)Connector.php负责与数据库通信,增删改读(CRUD)首先,建一个Connector类,并且设置属性&lt;?phpclassConnector{//数据库地址前缀,常见的有mysql,slqlsrv,odbc等等等private$driver='mysql';//数据库地址private$host='localho

2023-10-06 07:12:40