【发布时间】:2014-08-17 16:34:31
【问题描述】:
所以我尝试在 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');
function_x.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') 我收到一个致命错误,说 'Fatal error: doX(): Cannot write property in ...' 与 if ($stmt->affected_rows = 1) { 在线。
我无法弄清楚为什么会出现此错误。有什么想法吗?
【问题讨论】:
-
是否需要在包含你的function_x.php页面的页面中声明全局变量?在包含的页面中将其声明为全局不会导致父级无法访问它吗?如果错了,我很抱歉最近没有做太多 PHP
标签: php mysql function mysqli require