2016-04-09 4 views
7

Я создал файл php, и он находится на моем сервере. После того как я открываю php-файл из хром, он показывает «Невозможно найти базу данных».Не удалось найти базу данных

<?php 

    $dbhost = "fdb7.biz.nf"; 
    $database = "2065616_knurum"; 
    $username = "2065616_knurum"; 
    $dbpass = "XXXXXXXXX"; 

    mysqli_connect($dbhost, $username, $dbpass, $database); 

    @mysql_select_db($database) or die("Unable to find database"); 

    $name = isset($_GET["name"]) ? $_GET["name"] : ''; 

    $message = isset($_GET["message"]) ? $_GET["message"] : ''; 


    $query = "INSERT INTO test VALUES ('', '$name', '$message')"; 

    mysql_query($query) or die (mysql_error("error")); 

    mysql_close(); 

    echo"hello"; 
    ?> 

После нескольких комментариев помощников, здесь правильное решение, и это сработало. Спасибо за всех ответивших помощников.

$dbhost = "fdb7.biz.nf"; 
$database = "2065616_knurum"; 
$username = "2065616_knurum"; 
$dbpass = "XXXXXXXX"; 

$link = mysqli_connect($dbhost, $username, $dbpass, $database); 

if (!$link) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; 
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; 
    exit; 
} 


$name = isset($_GET["name"]) ? $_GET["name"] : ''; 

$message = isset($_GET["message"]) ? $_GET["message"] : ''; 

$query = "INSERT INTO test VALUES ('', '$name', '$message')"; 

mysqli_query($link, $query) or die (mysqli_error("error")); 


echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; 
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; 
mysqli_close($link); 
?> 
+5

Вы проверили свои карманы ??? задняя часть дивана ??? под автокреслом ???? может быть, где ваш код скрывается, потому что я тоже не могу его найти? а также доказательства того, что вы пытались решить проблему .... все пропало !!! – gavgrif

+0

@gavgrif благодарю вас за то, что вы совершили. теперь код не скрыт. –

+0

Привет, вы можете проверить зеленый чек на мой ответ, если это поможет –

ответ

2
1) check your database spelling. 
2) have you given all the required privileges to user? 
3) username and password is correct ? 
6

Попробуйте эту ссылку из http://php.net/manual/en/function.mysqli-connect.php

<?php 

$dbhost = "fdb7.biz.nf"; 
$database = "2065616_knurum"; 
$username = "2065616_knurum"; 
$dbpass = "XXXXXXXXX"; 

$link = mysqli_connect($dbhost, $username, $dbpass, $database); 

if (!$link) { 
    echo "Error: Unable to connect to MySQL." . PHP_EOL; 
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; 
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; 
    exit; 
} 

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL; 
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; 

mysqli_close($link); 
+0

Спасибо. Это большая помощь. –

2

Вы смешиваете использование библиотек mysql и mysqli.

выбрал последний в палку с ним

т.е.

@mysql_select_db($database) or die("Unable to find database"); 

должен быть

@mysqli_select_db($database) or die("Unable to find database"); 
2

Во-первых, вы не можете смешивать mysql_* функции и mysqli_* функции, последний лучше, как mysql_* имеет уже устарели.

$conn = mysqli_connect($dbhost, $username, $dbpass, $database); 

$query = "INSERT INTO test VALUES ('', '$name', '$message')"; 

mysqli_query($conn, $query) or die (mysqli_error("error")); 

mysqli_close(); 

Кроме того, вы не должны подавлять сообщения об ошибках:

@mysqli_select_db($database) or die("Unable to find database"); 

Удалить @ для того, чтобы сообщения об ошибках. Это очень полезно при диагностировании синтаксических ошибок.

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