如何在PHP函数中正确使用MySQL查询?
因此,我试图在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
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工作