Проблемы с подключением
Возникла проблема: Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future
Вызвана она тем, что в PHP новых версий сменился смысл подключения к БД, по уму нужно переписывать на новый код:
Если ещё MySQLi. Процедурный стиль:
$host = "127.0.0.1";
$db_name = "e";
$login = "root";
$password = "";
$connection = mysqli_connect( $host, $login, $password, $db_name );
mysqli_query($connection, "SET NAMES 'utf8'");
ООП стиль:
$host = "127.0.0.1";
$db_name = "e";
$login = "root";
$password = "";
$mysqli = new mysqli( $host, $login, $password, $db_name );
$mysqli->query("SET NAMES 'utf8'");
Учитывать нужно и запятые и пробелы.
Если же не получаеться, можно просто отключить уведомления, или же сменить версию PHP на более старую.
Пример использования в ООП:
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno())
{
printf("Connect failed: %s ", mysqli_connect_error());
exit();
}
/* Create table*/
if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE)
{
printf("Table myCity successfully created. ");
}
/* Select queries*/
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10"))
{
printf("Select returned %d rows. ", $result->num_rows);
/* free result set */
$result->close();
}
/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT))
{
if (!$mysqli->query("SET @a:='this will not work'"))
{
printf("Error: %s ", $mysqli->error);
}
$result->close();
}
$mysqli->close();
?>
Процедурный:
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno())
{
printf("Connect failed: %s ", mysqli_connect_error());
exit();
}
/* Create table doesn't return a resultset */
if (mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City") === TRUE)
{
printf("Table myCity successfully created. ");
}
/* Select queries return a resultset */
if ($result = mysqli_query($link, "SELECT Name FROM City LIMIT 10"))
{
printf("Select returned %d rows. ", mysqli_num_rows($result));
/* free result set */
mysqli_free_result($result);
}
/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
if ($result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT))
{
/* Note, that we can't execute any functions which interact with the
server until result set was closed. All calls will return an
'out of sync' error */
if (!mysqli_query($link, "SET @a:='this will not work'"))
{
printf("Error: %s ", mysqli_error($link));
}
mysqli_free_result($result);
}
mysqli_close($link);
?>