Проблема с MySQL: supplied argument is not a valid MySQL-Link resource
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 09:25:57.906666
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
Вот скрипт:
<?php
$link = mysql_connect("127.0.0.1", "root");
if ($link = 0) {
echo "Не удалось подключится к серверу";
}
else {
echo "Соединение создано успешно";
}
mysql_close($link);
?>
Вот результат:
Соединение создано успешно
[b]Warning[/b]: mysql_close(): supplied argument is not a valid MySQL-Link resource in [b]C:\EasyPHP2\www\mysql.php[/b] on line [b]18[/b]
Я так понимаю, что PHP не может создать переменную типа resource, чтобы передать её в mysql_close, что примечательно, если написать mysql_close(mysql_connect("127.0.0.1", "root")); то warning'а не даёт. В чём проблема и как сделать, что ошибки не выдавало?
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 09:37:26.296666
|
|
|
synik
Сообщений: 94
Оценки: 0
Присоединился: 2007-08-15 14:58:32.516666
|
$linkID = mysql_connect("путь","login", "pass") or exit("Could not connect");
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 09:51:51.580000
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
Ну и что? Проблема-то в mysql_close(); а не в mysql_connect(); Судя по появляющемуся Соединение создано успешно mysql_connect(); работает нормально
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 10:22:20.640000
|
|
|
L1kvID
Сообщений: 118
Оценки: 0
Присоединился: 2005-07-04 19:00:21
|
<? function connect($data_base)
{
$connection=mysql_connect ("host","user","pass");
if (!($connection)) {echo "Не удалось подключится к БД"}
else {mysql_select_db($data_base);return $connection}
} Для примера просто. По теме: http://ru2.php.net/mysql_close Исходя из описания : bool mysql_close ([ resource $link_identifier ] ), все должно работать. Попробуй в случае моего скрпипта сделать mysql_close или используй функцию без параметров, у тебя же одно соединение с бд в примере.
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 10:31:57.656666
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
Кажется, я понял, в чём загвоздка. В моём примере есть строка if ($link = 0)
и PHP автоматически даёт переменной $link тип int, а не resource, который нужен mysql_close(); UPDATE: Так оно и есть. Как вариант выхода из ситуации, через резервную переменную, такой код:
<?php
$link = mysql_connect("127.0.0.1", "root");
$dbh=$link;
if ($dbh = 0) {
echo "Не удалось подключится к серверу";
}
else {
echo "Соединение создано успешно";
}
mysql_close($link);
?>
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 11:16:54.906666
|
|
|
oRb
Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
|
t3rmin41, проблема в другом. Идем в мануал http://ru2.php.net/mysql_connect и видим quote:
Возвращает указатель на соединение с MySQL в случае успешного выполнения, или FALSE при неудаче. Ты не очень понимаешь своего алгоритма. 1. $link = mysql_connect("127.0.0.1", "root"); После выполнения этой строки $link == false 2. if ($link = 0) Ты используешь оператор присвоения, вместо оператора сравнения. Если бы ты использовал == все равно условие бы выполнилось, тк из-за переопределения типов false превратился бы в ноль. 3. mysql_close($link); Ты вызываешь эту функцию не зависимо от подключен ли ты к базе или нет. А это не правильно, тк $link не является ресурсом. Правильный код: <?php
$link = mysql_connect("127.0.0.1", "root");
if ($link === false) {
die("Не удалось подключится к серверу");
}
else {
echo "Соединение создано успешно";
}
mysql_close($link);
?>
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 12:07:07.016666
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
вот чёрт, и то правда. Спасибо! :]
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 12:07:15.140000
|
|
|
FriLL
Сообщений: 2539
Оценки: 335
Присоединился: 2007-08-11 17:14:26.703333
|
А вот так прокатит?? <?php
$link = mysql_connect("127.0.0.1", "root");
if (!$link) {
die("Не удалось подключится к серверу");
}
else {
echo "Соединение создано успешно";
}
mysql_close($link);
?>
|
|
|
RE: Проблема с MySQL: supplied argument is not a valid MySQL-Link resource - 2008-07-17 12:10:57
|
|
|
t3rmin41
Сообщений: 245
Оценки: 0
Присоединился: 2007-11-12 14:06:01.393333
|
quote:
ORIGINAL: FriLL А вот так прокатит?? <?php
$link = mysql_connect("127.0.0.1", "root");
if (!$link) {
die("Не удалось подключится к серверу");
}
else {
echo "Соединение создано успешно";
}
mysql_close($link);
?> Прокатит, просто я поставил = вместо == вот и вся беда.
|
|
|
|
|