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

Ответы на вопрос(2)

Ваш ответ на вопрос