php5的mysqli函数第二个参数,关于php:我应该将$ mysqli变量传递给每个函数吗?
我从mysql_ *传递到面向对象的mysqli时遇到了一些问题。
我的index.php文件的结构类似于包括两个文件:
include('connect.php');
include('function.php');
connect.php文件包含:
$mysqli = new mysqli("localhost","root","test","test");
if (mysqli_connect_errno($mysqli)) {
printf("Connection failed: %s
", mysqli_connect_error());
exit();
}
?>
在function.php文件中,有一个名为showPage的函数,该函数不带任何参数,但使用$ mysqli连接,例如...
$result = $mysqli -> query("SELECT * FROM $table ORDER BY ID DESC"); // Seleziono tutto il contenuto della tabella
我无法管理它而无法将$ mysqli变量传递给函数,但是当我使用mysql_ *不推荐使用的函数时,这不是必需的!
我能理解为什么吗,什么是解决此问题的最佳方法?
@Wired删除密码后,然后可能仍然使用它
如前所述,它是一个旧数据库(也在本地),我正在对其进行测试。 但是我还是不希望我的数据写在网上= P还是让我感到困扰
用户定义的函数在PHP中具有自己的变量范围。您需要将$mysqli作为参数传递给该函数,或者使用global $mysqli启动该函数。
在"变量作用域"页面上,给出了确切的问题作为示例:
However, within user-defined functions a local function scope is
introduced. Any variable used inside a function is by default
limited to the local function scope. For example, this script will not
produce any output because the echo statement refers to a local
version of the $a variable, and it has not been assigned a value
within this scope. You may notice that this is a little bit different
from the C language in that global variables in C are automatically
available to functions unless specifically overridden by a local
definition. This can cause some problems in that people may
inadvertently change a global variable. In PHP global variables must
be declared global inside a function if they are going to be used in
that function.
$a = 1; /* global scope */
function test()
{
echo $a; /* reference to local scope variable */
}
test();
?>
全局变量是邪恶的xD,但是您的答案是最好的。 我习惯了C,这就是为什么我无法做到这一点。 我更喜欢每次都将变量作为参数传递。 谢谢。
在这种情况下,全局变量是完全有效且可理解的设计模式。 毕竟,数据库连接对象是应用程序中的全局对象。 但是,我会将您的mysqli对象包装在您自己的用户创建的对象中,并在全局范围内使用此对象,因为这将使您能够灵活地根据需要进行改进/升级,而不必对应用程序进行大量更改。
您还可以使用连接池,值得一试。
$mysqli = new mysqli('p:localhost', 'username', 'password', 'db_name');
cannot manage it to work without passing to the function the $mysqli variable, but this was not necessary when I used mysql_* deprecated functions!
那是不正确的。即使在旧的mysql_*函数中,如果您需要指定与哪个数据库连接有关,实际上也必须传递链接标识符,例如:
$result = mysql_query($sql, $link);
此示例还显示了,您也必须传递$result。如果确实遗漏了$link参数:
$result = mysql_query($sql);
mysql扩展确实在内部寻找上次使用的连接。如果没有找到,它将使用php.ini中设置的参数创建一个新的。这只是为了您提供信息,以便更好地了解过去的原因和工作方式。
经过更好的搜索后,我找到了答案,它适用于可能需要它的任何人:
PHP更改为mysqli。 mysqli_connection是否不是全局的?
这就是我需要的答案。无论如何,感谢所有帮助我的人
php5的mysqli函数第二个参数,关于php:我应该将$ mysqli变量传递给每个函数吗?相关推荐
- OPenCV imread()函数第二个参数详解
在OpenCV官方文档中imread()函数的原型如下: Mat imread(const string& filename, int flags = 1); 第一个参数filename是我们 ...
- python中def之间变量传递_Python def函数的定义、使用及参数传递实现代码
Python编程中对于某些需要重复调用的程序,可以使用函数进行定义,基本形式为: def 函数名(参数1, 参数2, --, 参数N): 执行语句函数名为调用的表示名,参数则是传入的参数,可以更具需要 ...
- 实例说明listen()函数第二个参数的意义与用法
我们先来看结果: Client: [cpp] view plain copy #include <sys/socket.h> #include <stdio.h> #inclu ...
- python+opencv中imread函数第二个参数的含义
= 0: 灰度图 0:三通道彩色图 <0:原图,带alpha通道
- C语言 函数缺省参数 - C语言零基础入门教程
目录 一.函数简介 1.函数声明 2.函数定义 3.函数调用 4.函数形参和实参 二.函数缺省参数 1.函数全缺省参数 2.函数半缺省参数 三.注意事项 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...
- PHP中CURL方法curl_setopt()函数的一些参数
2019独角兽企业重金招聘Python工程师标准>>> bool curl_setopt (int ch, string option, mixed value) curl_seto ...
- python函数参数定义顺序_18 Python - 函数定义与参数
12 函数定义与参数 01函数 (1)定义: def 函数名(参数1,参数2--): 函数体 return 结果 (2)调用: 函数名(实际参数) (3)函数作用: 最大化代码重用, 最小化代码冗余, ...
- wlansetprofile 倒数第二个参数_西部世界 | 脚本参数的演变
作者:Todd Weller Cross I.T. 高级数据系统架构师 Todd Weller 是位于美国宾夕法尼亚州格林维尔的 FileMaker 商业联盟白金合作伙伴 Cross I.T. 的高级 ...
- Python基础教程:函数的可变参数
在Python函数中,还可以定义可变参数. 如:给定一组数字a,b,c--,请计算a2 + b2 + c2 + --. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把 ...
最新文章
- java随机数 时间_Java 随机数
- NR 5G 用户平面协议
- Perl中的单行凝视和多行凝视
- 人工智能---机器学习
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
- chown -R命令的使用
- 深入理解 ValueTask
- ------webkitformboundary
- db2数据库服务器时间怎么修改,DB2数据库中,肿么修改数据的创建时间,求SQL语句。...
- Ubuntu 手动更新firefox的flash插件
- python 利用matploylib画动态雷达实时显示图
- 干货 | Elasticsearch 8.X 版本升级指南
- EduCoder-Hive表DDL操作(一、二)答案-路漫漫远俢兮
- 消消乐android 源代码,【消消乐】源代码
- 如何登录设备(睿易篇)
- java生成随机邮箱_Java随机生成姓名、邮箱、手机号码
- 我谈阶梯博弈(Staircase Nim)
- 国内首场新GRE考试常见问题解答及首考回忆
- vue脚手架引入bootstrap3
- 文献计量学-使用HistCite执行引文分析 (Citation Analysis)