1 (изменено: New1, 2009-09-16 21:20:32)

Тема: Скрипт дожен работать?

На одном из англоязычных форумов взял скрипт для удаленной проверки подключения к удаленной MySql.

<?php
// FILL IN BELOW
$conncect = mysql_connect ( "host", "Username", "password" )
// STOP EDIT
or die (" Sorry your server can't connect to your mysql server <BR> Check to see you have put in the Username and password and if this is the 1st time you have got this <BR> And it has worked before That means you need to contact your hoster and tell them my MySql server is down");
echo ("Good job your server has connected to your mysql server");
?>

Должен-ли он работать вообще (у меня не работает, нет ли ошибки в написании $conncect)?

А скрипт оттуда же:

<?php
$phpinfo         = $_GET['phpinfo'];
if($phpinfo=="phpinfo") {
        phpinfo();
        die();
}

$hostname_zip = "localhost";
$database_zip = "enter database name here";
$username_zip = "your account user name";
$password_zip = "your password";

$dbcheck = mysql_pconnect("$hostname_zip", "$username_zip", "$password_zip");

if (!$dbcheck) {
        echo "<H1>MySQL Connection Error</H1>";
        echo mysql_error();
        echo "<br><b>This Test Script was unable to connect to the MySQL server!<br>Your MySQL database is not reachable or the info you supplied to
        login with is not accurate.</b><br><br>
        The info used to login was:<br><font color=purple><b>\$hostname_zip=\"<i>$hostname_zip</i>\"<br>
        \$username_zip=\"<i>$username_zip</i>\"<br> \$password_zip=\"*<i>hidden</i>*\"</b></font><br>";
        echo "<br>Your MySQL server did not accept the connection when using the info you supplied.  Double check these entries for accuracy and try again. <br>";
       
        echo "Tips:";
        echo "Email your web host and ask them what to use for a mysql hostname, username and password.<br>";
        echo "View the PHP Manual: <a href=\"http://www.php.net/manual/en/function.mysql-connect.php\" target=\"_blank\">mysql_connect</a><br>";
        echo "Perhaps you just need to create a new mysql user instead of using your root user.<br>";
        die("<br><a href=\"$_SERVER[PHP_SELF]?phpinfo=phpinfo\">View your php settings</a>");

}else{

        echo "<H1>MySQL Connection Success!</H1>";
        echo "<a href=\"$_SERVER[PHP_SELF]?phpinfo=phpinfo\">view your phpinfo</a><br><br>";
        echo "<p><font color=black><b>If everything looks good, but you still have mysql problems, contact your support team or server admin. ";
        echo "<p><b>- Connected to your MySQL server successfully!<br>";
        if (mysql_select_db($database_zip)) {
        echo "<br>- Connecting to your locator database named \"<font color=purple>$database_zip</font>\" was also successful.<br>";
        }else{ echo "- Connected to mysql server, but could not connect to your database named \"<font color=purple>$database_zip</font>\", check your database name
        in your /admin/config.php file and refresh this page."; }
      }
?>

показывает MySQL Connection Success!

На forum.php-myadmin.ru  нашел скрипт:
<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or print mysql_error();
    mysql_close($link);
?>

- не работает

2

Re: Скрипт дожен работать?

New1
Ошибок нет. Большинство хостеров закрывают порт MySQL для внешних подключений и к ним можно подключиться только локально, с localhost. Уточните этот момент у вашего хостера.

3 (изменено: New1, 2009-09-16 21:58:49)

Re: Скрипт дожен работать?

Hanut
Хост byethost.com
Во втором скрипте $hostname_zip = "localhost"; указываю вместо localhost указанное мне в панели управления имя, и работает только скрипт №2, а остальные с так же замененным именем localhost показывают чистое поле.

Hanut сказал:

Большинство хостеров закрывают порт MySQL для внешних подключений и к ним можно подключиться только локально, с localhost. Уточните этот момент у вашего хостера.

Я запускаю для проверки на удаленном хосте файл test_mysql.php с приведенными скриптами.
Я правильно понял, что в скриптах надо оставлять localhost ? Хотя я и так пробовал.
Главная страница сайта - тоже чистое поле.

4

Re: Скрипт дожен работать?

mysql_pconnect - Это другая функция.
По поводу соединения с MySQL обратитесь к хостеру. Если функция не работает, значит она может быть отключена, что можно посмотреть в phpinfo() или так:
<?php
if (function_exists('mysql_connect')) {
   echo "Да.<br />\n";
} else {
   echo "Нет.<br />\n";
}
?>

5 (изменено: New1, 2009-09-17 12:20:42)

Re: Скрипт дожен работать?

Hanut

Hanut сказал:

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

Хостер с моим английским труднодоступен, только если не получится получить помощь на русскоязычных ресурсах.
Результат теста
<?php
if (function_exists('mysql_connect')) {
   echo "Да.<br />\n";
} else {
   echo "Нет.<br />\n";
}
?>
вот такой:
http://pic.ipicture.ru/uploads/090917/7lfjXijv2n.jpg (Увеличено)
В в phpinfo() прямой поиск не обнаружил ни одного вхождения mysql_connect
Что бы это могло значить?

6

Re: Скрипт дожен работать?

New1 сказал:

<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or print mysql_error();
    mysql_close($link);
?>

- не работает

Какая ошибка выведена? Если пустая страница - то работает.

7

Re: Скрипт дожен работать?

Hanut #6

Hanut сказал:

Какая ошибка выведена? Если пустая страница - то работает.

Да, пустая страница. Как и для index.php
Если можно, введите в скрипт какие либо сообщения для вывода результата

8

Re: Скрипт дожен работать?

Hanut
Дополнение к #5
Этот иероглиф обозначает Yes. Но почему иероглиф? При создании базы стояло по умолчанию (и моей безграмотности) сравнение latin1_swedish_ci
Может, удалить базу и создать новую? Только с какими первоначальными установками?

9

Re: Скрипт дожен работать?

<?php
    $link = mysql_connect("localhost", "mysql_user", "mysql_password")
        or print mysql_error();
    if ($link) {
      print 'Connected';
      mysql_close($link);
    } else print 'Error';
?>

Сравнение при создании БД надо ставить то, которое намереваетесь использовать на сайте:
windows-1251 - cp1251_general_ci
utf-8 - utf8_general_ci

Откуда взялись иероглифы - мне не понятно.

10

Re: Скрипт дожен работать?

Hanut
Не могу удержаться от эмоций...
Перешел на другой хостинг, все залил вновь. Аккуратно создал базу в utf8_general_ci
Код #9 показал Connected
Но иероглифы все те же. Главная страница - чистый экран. А ведь все залил с работающего localhost'a.
Чо делать!!??

11

Re: Скрипт дожен работать?

New1
Какие иероглифы? Объясните что вы вообще делаете.

12

Re: Скрипт дожен работать?

Hanut

Hanut сказал:

Какие иероглифы? Объясните что вы вообще делаете.

На новом хостинге запустил тест
<?php
if (function_exists('mysql_connect')) {
   echo "Да.<br />\n";
} else {
   echo "Нет.<br />\n";
}
?>
с русскими буквами.
В ответ - вышеприведенный иероглиф. (Если вписать Yes - то все отлично:- Yes)
Но сайт не запускается
Никаких тестов по такому поведению сайта на хосте придумать не могу.

13

Re: Скрипт дожен работать?

New1
Не могу объяснить такие странности.