mysqli_stmt_prepare возвращает false из функции
Я стараюсь изо всех сил ориентировать мои сценарии входа и проверяет мой веб-сайт. Поэтому я создал функцию с именем namedattempt_login», Эта функция использует соединение с базой данных черезmysqli_connect» функция, предоставляемая внешним php-файлом, который включен и возвращает переменную $ link.
Впрочем, когда по моемуattempt_login» "mysqli_stmt_prepare» функция достигнута. Он всегда возвращает false, и как таковой оператор if никогда не выполняется.
mysql_connect.php
require_once '../conf.php';
$link = mysqli_connect($mysql_server,$mysql_user,$mysql_pass,$mysql_db);
if(mysqli_connect_error())
{
//Fail
echo mysqli_connect_error();
}else{
//Success
}
return $link;
И код из "attempt_login» что терпит неудачу:
$link = require_once 'functions/mysql/mysql_connect.php';
print_r($link);
$stmt = mysqli_stmt_init($link);
echo mysqli_stmt_error($stmt);
echo mysqli_error();
//This if statement always fails.
if(mysqli_stmt_prepare($stmt,"SELECT member_salt FROM members WHERE username=?" ) )
{
mysqli_stmt_bind_param($stmt,'s',$login_details['username']);
mysqli_stmt_execute($stmt);
$member_salt = NULL;
mysqli_stmt_bind_result($stmt,$member_salt);
mysqli_stmt_close($stmt);
}
И вызвать функцию довольно просто.
attempt_login($login_details);
Я пробовал много способов сделать это, но, кажется, работает только тогда, когда это не в функции. Который побеждает цель меня, пытающегося иметь это в функции. Если я переместу вывод ошибки после if if, он напечатает:
Не выбрана база данных
Хотя одно явно указано в ссылке. Я также могу сделать print_r ($ link); и он печатает правильные данные для сервера MySQL.
Он также имеет ту же проблему с процедурными и объектно-ориентированными стилями mysqli, и также не работает с "mysqli_prepare».
У меня действительно есть mysql, работающий на сайте, но любые попытки запустить что-либо внутри функции не удаются.
Я искал несколько часов, пытаясь найти ответ, но не смог ничего найти. С нетерпением жду Вашего ответа! Спасибо заранее.
~ Travis