Я не могу понять, почему моя функция не видит переменную $ conn. Другие функции, похоже, работают очень хорошо.Почему я не могу передать переменную подключения моей функции?
Вот файл, в котором я называю свою функцию:
require_once('../functions.php');
if('POST' == htmlspecialchars($_SERVER['REQUEST_METHOD'])) {
$user_id = $_SESSION["user_id"];
$day = $_POST["day"];
$month = $_POST["month"];
$year = $_POST["year"];
$type = '';
$content = $_POST["content"];
add_bullet($user_id, $day, $month, $year, $type, $content, $conn);
}
А вот мой functions.php
require_once('../include/db_connect.php');
// other functions here..
function add_bullet($user_id, $day, $month, $year, $type, $content, $conn) {
$sql = "INSERT INTO `mbt`.`bullets` (`id`, `user`, `day`, `month`, `year`, `type`, `content`) VALUES ('', '$user_id', '$day', '$month', '$year', '$type', '$content');";
mysqli_query($conn, $sql);
}
Мои другие функции, кажется, прекрасно работают, используя тот же метод.
Вот мой db_connect.php
$dbserver = "xxx";
$dbuser = "xxx";
$dbpassword = "xxx";
$dbname = "xxx";
$conn = new mysqli($dbserver, $dbuser, $dbpassword, $dbname);
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); }
Вы начали сеанс? –
Добавьте отчет об ошибках в начало файла (ов) сразу после открытия PHP-тега , например ' Php error_reporting (E_ALL); ini_set ('display_errors', 1); 'тогда остальная часть вашего кода, чтобы убедиться, что он что-то дает. –
Да, если я повторяю $ user_id, он появляется. – Roman