【在PHP中设置数据库连接类】教程文章相关的互联网学习教程文章

php – 保持跨页面的数据库连接活动

我是学习者.有没有办法在用户进入下一页时保持与mysql数据库的连接. 例如,建立数据库连接,用户登录,然后转到下一页以访问数据库中的表.而不是必须再次建立数据库连接,有没有办法保持以前的连接活动? 或者在低流量站点中它是否重要? 我昨天读了一篇关于会话相关内容的帖子,响应者谈到了发送“头型”(?)文件. 谢谢.解决方法:是的,不是.一旦用户转到下一页,出于所有意图和目的,他们就不再连接到数据库了. 您的脚本(在下一页上)仍然...

php – 重用数据库连接对象【代码】

我正在使用此函数在需要时连接到我的MySQL数据库,并且还可以在同一个php脚本中重新使用相同的连接对象进行我可能需要的任何进一步查询.function cnn() {static $pdo;if(!isset($pdo)) {try {$pdo = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);$pdo->setAttribute(PDO::ATTR_TIMEOUT, 30);$pdo->setAttribute(PDO::ATTR_PERSISTENT, true);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTIO...

php – 在我的查询中添加另一个数据库连接会导致某些行无法看到【代码】

对,所以,我对此并不是特别熟练,这实际上是我的第一次加入查询,所以要温柔.我将尽可能多地提供细节,因为它可能会像煎锅那样击中你们大多数人,但它正在努力! 我正在尝试用codeigniter编写的博客查询问题.我已经设置了一个带有2个连接的查询用于帖子,它的分类使用了三个表:posts,categories和posts_categories现在我也想加入我的评论表,进行计数. 这是我模型中的代码,显示了我编写的通用帖子:$this->db->select('posts.id,posts.ti...

在PHP中将数据库连接/对象转换为函数的最佳方法是什么?【代码】

有两个选项:$connection = {my db connection/object};function PassedIn($connection) { ... }function PassedByReference(&$connection) { ... }function UsingGlobal() {global $connection;... }所以,传入,通过引用传递,或使用全局.我正在考虑只在1个项目中使用的函数,它只有1个数据库连接.如果有多个连接,则通过引用传递或传递. 当你在PHP5中使用一个对象时,我不需要通过引用传递,因此传入或使用global是两种可能性. 我问的原...

PHP池功能(不仅仅是数据库连接)

是否可以在PHP中汇集数据或功能? 我编写的业余PHP代码唤醒处理响应,加载函数,打开数据库连接,创建对象,初始化它们,然后 – 在处理响应后0.01秒后死掉,留下下一个重新加载请求,解析,并再次运行相同的事情. 这是非感性的,我发现它消除了我的许多工作的价值,没有功能/数据/对象池.例如,我可以编写类,发现每个请求都重新初始化 – 我尝试开发一个有意义的对象结构有什么意义? 所以:我如何编写PHP以池数据和功能?解决方法:在PHP中没...

php – 如何动态更改/解析Laravel 5中的数据库连接?【代码】

我正在开发一个多租户多DB架构的应用程序,这基本上意味着每个租户都拥有自己的数据库,而不是所有租户都在同一个数据库中. 现在我一直在努力解决这样一个事实,即我无法成功更改数据库连接,而且我不确定这样做的正确方法. 我的数据库配置文件如下所示:'connections' => ['archive' => ['driver' => 'mysql','host' => env('DB_HOST', 'localhost'),'database' => env('DB_DATABASE', 'forge'),'username' => env('DB_USER...

如何在PHP中存储持久数据库连接?

正如sqlite_popen文档中所述,php尝试使用持久资源机制.这个机制在哪里详细描述?是否可以查看当前存储/使用的所有资源?是否可以访问此机制并存储/读取其他值?解决方法:sqlite_popen使用(executor)全局哈希表“persistent_list”来存储连接资源.这个散列表不是php“实例”的一部分,它执行你的脚本而是php“运行时”,这意味着它在脚本完成后没有被清除/删除但是只要php .so / .dll /就保存在内存中fastcgi.exe.你不能从PHP脚本中访...

php – Laravel自动关闭数据库连接吗?【代码】

我正在使用Eloquent和MySQL与Laravel和数据库(DB)合作. 我已经找到了关闭数据库连接的代码,但是我正在搜索文档,如果Laravel在使用它之后自动关闭所有连接. 在使用Laravel之前,每次我使用MySQL命令时,我都会在页眉上打开数据库连接并在页脚上关闭它. 但是,使用Laravel / Eloquent呢?它关闭了吗?或者我需要在使用后手动关闭所有连接? 比如,使用Laravel / Eloquent的基本示例:$user = new User; $user->name = 'John'; $user->sav...

php – 在Laravel中动态设置数据库连接和语言【代码】

我有3个域指向相同的Laravel应用程序.我想要的是每个人连接到自己的数据库并根据TLD加载自己的语言文件.我可以在哪里设置这些设置的文件?我可以直接在配置文件中执行此操作,也可以在加载配置之前执行某些操作. 我所拥有的是一个简短的函数,它将解析域并获得TLD,在此基础上,经过快速验证后,我们将知道将使用哪种数据库和语言.解决方法:您可以使用中间件轻松完成此操作 – 请参阅此处的一些文档:https://laravel.com/docs/master/m...

在PHP中设置数据库连接类【代码】

最近我介绍了PHP中的类的概念,经过一些研究后我得出结论,我需要在类中存储数据库相关的函数以便以后访问.它在很大程度上起作用,但是我仍然困惑的一些用例.例如, 下面是我通常如何连接到我的数据库并显示表中用户ID的信息的示例 dbcon.php:<?php $con = mysqli_connect("host","username","password","database") or die("Couldn't connect");require_once("functions.php"); ?>的functions.phpfunction getUserInfo($id) {$query ...

php – Laravel – 如何从不同的数据库连接加入2个表?【代码】

我有一个使用2个数据库的应用程序.我需要创建一个查询,将一个数据库中的表连接到另一个数据库表,但我不知道该怎么做. 所以,我有一个连接名称mysql和phc.我可以毫无问题地与两者沟通. 现在,我正在尝试执行此查询:$artigos = DB::connection('phc')->table('st')->join('mysql.cart', 'mysql.cart.id_item', '=', 'st.ststamp')->select('st.ststamp', 'st.ref', 'st.design', 'st.imagem', 'mysql.cart.qtt')->where('mysql.carts....

php – 在CodeIgniter 3中设置数据库连接超时【代码】

我们正在使用2个数据库,我们的本地数据库和外部数据库.但是现在我们的外部数据库已关闭(我们仍在开发中,所以我们遇到了这个问题很好)并且它现在尝试连接到外部数据库30秒,如何将数据库的连接超时更改为类似1 – 2秒?我在我的数据库上使用Codeigniter和PDO驱动程序.有没有人为这个问题提供干净的解决方案?解决方法:它不是一个记录的功能,但您可以通过添加选项设置从数据库配置文件(application / config / database.php)执行此操...

PHP和MYSQL数据库连接和表创建只有一次【代码】

我正在为我的学术开发一个小应用程序.我有一个注册表和一个log_in表.这是我想要的,我有一个数据库配置文件,其中包含“连接到服务器,创建数据库和创建表查询”.我已将此数据库文件包含在我的注册表单顶部,以便在加载页面时“查询应执行并仅创建数据库和表”.但问题是查询是第一次成功执行,但是当再次加载注册页时,它会提示错误“DATABASE ALREADY EXISTS”.让我开心.我已经附加了db.php代码..<?php $dbhost = 'localhost'; $dbuser...

php – 如何避免硬编码数据库连接密码?【代码】

我正在研究一个学校项目(写一个网站),我遇到了为我们的数据库连接提供密码的问题.由于我们的开源许可证,我们必须发布源代码,但这意味着每个人都可以连接到数据库并查看数据. 目前我们的连接(一个php文件)看起来像这样:$host="************"; $password="************"; $this->conn = new mysqli($host, $user, $password, $dbname).mysqli_connect_error());现在我的问题是:如何提供连接数据库的密码,而无需编写$password = …?...

通过.ENV文件来配置ThinkPHP的数据库连接信息

在ThinkPHP系统根目录创建.env文件,注意WINDOWS无法直接右键创建,使用编辑器保存时设置文件名为.env就可以创建文件。内容如下:.evn文件内容如下:[database] hostname = localhost database = vxianfeng username = root password = root hostport = 3306 prefix = vxf_应用程序目录创建 database.php内容如下return [// 数据库类型type => Env::get(database.type, mysql),// 服务器地址hostname => Env::get...

数据库连接 - 相关标签