2013-10-13 2 views
1

Следующий код дает мне фатальную ошибку: вызов неопределенной функции mysql_connect. Моя версия php - 5.4.20. Файл php.ini имеет расширение для php_mysql.dll, и файл php_mysql.dll физически присутствует. Что мне нужно делать?фатальная ошибка в php-коде, подключающаяся к mysql

<?php 
    $connection=mysql_connect('localhost','php','foo')or die('no connection made'); 
?> 
+0

[Неустранимая ошибка: вызов неопределенной функции mysql_connect() в C: \ Apache \ htdocs \ test.php в строке 2] (http://stackoverflow.com/questions/5179535/fatal-error-call-to- undefined-function-mysql-connect-in-c-apache-htdocs-test), [Неустранимая ошибка: вызов неопределенной функции mysql_connect()] (http://stackoverflow.com/questions/10615436/fatal-error-call- to-undefined-function-mysql-connect), [Неустранимая ошибка: вызов неопределенной функции mysql_connect()] (http://stackoverflow.com/questions/12783589/fatal-error-call-to-undefined-function-mysql- подключения) – Uours

ответ

0

Я бы хотел сказать, что соединение, подобное этому, устарело. Подключайте, как это и не должно быть никакой ошибки, если ваш MySQL работает:

function db() 
{ 
    try 
    { 
     $db = new PDO('mysql:host=localhost; dbname=test; charset=utf8', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")); 
    } 

    catch (Exception $e) 
    { 
     die('Error : ' . $e->getMessage()); 
    } 
    return $db; 
} 
0

Для Fatel Ошибка вы столкнулись: -

Пожалуйста, проверьте с phpinfo() ли MySQL правильно или не работает. Если вы внесли какие-либо изменения в Php.ini, вам следует перезапустить сервер Apache.

Предложение: -

Пожалуйста, избегайте использования mysql_* функций. Вы можете использовать mysqli.

mysql_connect is deprecated and it will be completely removed from PHP 5.5

Как вы можете написать соединение DB в Mysqli являются: -

<?php 
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db'); 

/* 
* This is the "official" OO way to do it, 
* BUT $connect_error was broken until PHP 5.2.9 and 5.3.0. 
*/ 
if ($mysqli->connect_error) { 
    die('Connect Error (' . $mysqli->connect_errno . ') ' 
     . $mysqli->connect_error); 
} 

/* 
* Use this instead of $connect_error if you need to ensure 
* compatibility with PHP versions prior to 5.2.9 and 5.3.0. 
*/ 
if (mysqli_connect_error()) { 
    die('Connect Error (' . mysqli_connect_errno() . ') ' 
     . mysqli_connect_error()); 
} 

echo 'Success... ' . $mysqli->host_info . "\n"; 

$mysqli->close(); 
?> 

Вы также можете обратиться ниже ссылкам: -

http://www.pontikis.net/blog/how-to-use-php-improved-mysqli-extension-and-why-you-should http://www.a2hosting.com/kb/developer-corner/mysql/connect-to-mysql-using-php

0

раскомментировать строку extension=php_mysql.dll в вашем php.ini файл и перезапустите Apache.

Кроме того, Файл libmysql.dll должен быть доступен Apache, то есть он должен быть либо доступен в системах Windows PATH, либо в рабочем каталоге Apache.

Подробнее об установке расширения MySQL в руководстве.

P.S. Я бы посоветовал считать расширение MySQL устаревшим и использовать MySQLi или даже PDO для работы с базами данных (я предпочитаю PDO).

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