2016-10-19 3 views
0

Ive искал здесь и в других местах, и я просто не могу найти ответ, чтобы решить эту проблему. Я только что купил новый хостинг и пытаюсь переместить мои сайты. Я получаю ошибку ниже.mysqli_select_db() ожидает, что параметр 1 будет mysqli, строка задана и mysqli_error() ожидает точно 1 параметр, 0 задан в DATABASE_CONNECT_ERROR

Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in 
/home4/purefic/public_html/demo/mytcg/settings.php on line 230 

Warning: mysqli_error() expects exactly 1 parameter, 0 given in 
/home4/purefic/public_html/demo/mytcg/settings.php on line 231 
DATABASE_CONNECT_ERROR 

И это кодирование у меня есть на моей странице настроек (первоначально работает просто отлично на моем старом хосте у меня было все, как MySQL и не Mysqli как мое исследование, казалось, чтобы сказать мне, чтобы изменить, но как вы можете видеть он не работал)

$users = array($user => md5($pass)); 
$salt = substr(md5(date("F")), 8); 

$connect = mysqli_connect("$db_server", "$db_user", "$db_password") 
    or die(DATABASE_CONNECT_ERROR . mysqli_error()); 
mysqli_select_db("$db_database" , $connect) 
    or die(DATABASE_CONNECT_ERROR . mysqli_error()); 

function CleanUp($data) { 
    $data = trim(htmlentities(strip_tags($data))); 
    return $data; 
    } 

function escape_sql($sql) { 
    if (get_magic_quotes_gpc()) $sql = stripslashes($sql); 
    return mysqli_real_escape_string($sql); 
    } 
?> 
+2

Как это ошибка не достаточно ясно? Он дает имя файла, номер строки, он даже говорит, что он ожидает, поэтому вы должны знать, что искать. – Xorifelse

+1

'$ db_database' не определен. Вам не нужно указывать переменные. В руководстве 'bool mysqli_select_db (mysqli $ link, string $ dbname)' -http: //php.net/manual/en/mysqli.select-db.php Я бы предположил, что ваши параметры инвертированы, тогда ваша функция ошибки Отсутствует ссылка. – chris85

+0

Кажется, вы указали строку вместо объекта mysqli. Проверьте значение '' $ db_server "', чтобы убедиться, что это объект mysqli. – Luke

ответ

1

Прежде всего, вам не нужно иметь «» для подключения к БД, потому что вы передаете его в качестве переменной

Вторая вещь не в Mysqli всегда Pass $connection с Connection.

И для подключения mysqli_error pass $, чтобы сервер знал, что вы ищете ошибку в подключении к базе данных.

Попробуйте это.

$connect = mysqli_connect($db_server, $db_user, $db_password) 
    or die(DATABASE_CONNECT_ERROR . mysqli_error($connect)); 
mysqli_select_db($connect, $db_database) 
    or die(DATABASE_CONNECT_ERROR . mysqli_error($connect)); 

Редактировать

в любом случае вы можете попробовать подключить DB Как следовать

$connect = mysqli_connect($db_server, $db_user, $db_password, $db_database); 

// If no connection than Print error 
if (mysqli_connect_errno()) 
    { 
     echo "No Active DB Connection Please check: " . mysqli_connect_error(); 
    } 
+0

Предупреждение: mysql_select_db() ожидает параметр 1, чтобы быть строка, ресурс приведен в /home4/purefic/public_html/demo/mytcg/settings.php на линии 231 DATABASE_CONNECT_ERROR –

+0

теперь я получаю вышеуказанную ошибку после замены на –

+0

$ подключения = mysqli_connect («$ db_server», «$ db_user», «$ db_password») или die (DATABASE_CONNECT_ERROR. mysqli_error ($ connect)); mysqli_select_db ($ connect, $ db_database) или die (DATABASE_CONNECT_ERROR. Mysqli_error ($ connect)); –

Смежные вопросы