如何在PHP函数中正确使用MySQL查询?

如何在PHP函数中正确使用MySQL查询?,php,mysql,function,mysqli,require,Php,Mysql,Function,Mysqli,Require,因此,我试图在PHP函数中运行MySQL查询,但遇到了一个错误 所以现在我有这个, ob_start(); $mysqli = new mysqli('localhost', 'database', '', 'user'); if ($mysqli->connect_errno) { echo 'Connection to database failed!'; exit; } $mysqli->set_charset('utf8mb4'); 以下是: require

因此,我试图在PHP函数中运行MySQL查询,但遇到了一个错误

所以现在我有这个,

ob_start();
$mysqli = new mysqli('localhost', 'database', '', 'user');
if ($mysqli->connect_errno) {
    echo 'Connection to database failed!';
    exit;
}
$mysqli->set_charset('utf8mb4');
以下是:

require_once('function_x.php');
php函数包含:

function doX($variable) {
    global $mysqli;

    $stmt = $mysqli->prepare("SELECT `x` FROM `y` WHERE `z` = ?");
    $stmt->bind_param("s", $variable);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($db_x);
    if ($stmt->affected_rows = 1) {
       //Do something
    }
}
因此,当此函数未使用时,页面加载时不会出现警告。但是如果我尝试使用它,例如,
doX('test')
我会在带有
if($stmt->infected_rows=1){
的行上得到一个致命错误,说
'fatal error:doX():Cannot write property in…'


我搞不清楚为什么会出现这个错误。有什么想法吗?

=
用于作业


=
用于比较。

=
用于赋值


=
是用来比较的。

哦,天哪……我觉得自己很笨!谢谢!:我们都犯了那个错误。这次你很幸运,因为
受影响的行
是mysqli语句的只读属性。有些人养成了将常量值放在左边的习惯,比如
if(1=$stmt->受影响的行)
因此,如果他们错误地键入运算符,他们肯定会出错。哦,天哪……我觉得自己很笨!谢谢!:我们都犯了这个错误。这次你很幸运,因为
受影响的行
是mysqli语句的只读属性。有些人养成了将常量值放在左边的习惯,比如
如果(1=$stmt->受影响的行)
因此,如果他们输入了错误的运算符,他们肯定会出错。您需要在包含函数的页面中声明全局变量吗?在包含的页面中声明全局变量不会导致家长无法访问它吗?如果错误,我的道歉最近没有做很多php工作,您需要声明全局变量吗包含函数_x.php页面的页面中的l变量?在包含的页面中声明它为全局变量不会导致家长无法访问它吗?如果我错了,我的道歉最近没有做太多php工作