Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource
 
 автор: RomantikPro   (05.02.2007 в 16:32)   письмо автору
 
 

Не работает, пишет ошибку...
В таблицах ни одной записи нет.

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in F:\www\apache\htdocs\index.php on line 32

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in F:\www\apache\htdocs\index.php on line 32
Уважаемый, Anonymous! Для заказа товара необходимо зарегестрироваться!
Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in F:\www\apache\htdocs\index.php on line 48



Что не впорядке? Подскажите, пожалуйста!


Привожу структуру таблиц:



Структура таблицы `session_user`
-- 

CREATE TABLE `session_user` (
  `id_sess` int(11) NOT NULL COMMENT 'уник номер ',
  `session_id` varchar(250) NOT NULL COMMENT 'сессия',
  PRIMARY KEY  (`id_sess`),
  UNIQUE KEY `session_id` (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='Таблица сессий пользователя';

-- --------------------------------------------------------

-- 
-- Структура таблицы `users`
-- 

CREATE TABLE `users` (
  `id_user` int(11) unsigned NOT NULL auto_increment COMMENT 'уникальный номер пользователя в системе',
  `login` varchar(20) NOT NULL COMMENT 'логин',
  `password` varchar(128) NOT NULL COMMENT 'пароль',
  `date_last` datetime NOT NULL COMMENT 'дата последнего захода',
  `name_01` varchar(60) NOT NULL COMMENT 'имя',
  `name_02` varchar(60) NOT NULL COMMENT 'фамилия ',
  `name_03` varchar(60) NOT NULL COMMENT 'отчество',
  `date_reg` datetime NOT NULL default '0000-00-00 00:00:00' COMMENT 'дата регистрации',
  `adress_sity` tinytext COMMENT 'город, где живет клиент',
  `adress_street` tinytext COMMENT 'улица, где живет клиент',
  `adress_home` tinytext COMMENT 'дом, где живет клиент',
  `post_index` int(11) NOT NULL COMMENT 'почтовый индекс',
  `authorization` enum('1','2','3') NOT NULL default '1' COMMENT 'авторизация  (1- нет, 2- да, 3 - клиенту выслано письмо о подтверждении регистрации, но не получен ответ)',
  `email` tinytext,
  `cod_tel_country` int(5) default NULL COMMENT 'цифровой код страны',
  `cod_tel_city` int(5) default NULL COMMENT 'телефонный цифровой код города в стране ',
  `tel` int(8) default NULL COMMENT 'телефон ',
  `fax` int(8) default NULL COMMENT 'факс',
  PRIMARY KEY  (`id_user`),
  UNIQUE KEY `login` (`login`),
  KEY `date_last` (`date_last`),
  KEY `password` (`password`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 COMMENT='таблица пользователей' AUTO_INCREMENT=1 ;




И файлик index.php


<?php
session_start
();
include(
"conf/config.php");
//проверяем, заходил ли такой пользователь к нам
if(!isset($_COOKIE['login']) && !isset($_COOKIE['password']))
{
       if(!isset(
$_SESSION['password']) && !isset($_SESSION['login']))
           {
               
$_SESSION['login'] = 'Anonymous';
               
$_SESSION['password'] = "";
               
$msg "Вы&nbsp;пришли&nbsp;на&nbsp;сайт&nbsp;как&nbsp;Незарегестрированный&nbsp;пользователь.";
               
$msg2 "Уважаемый,&nbsp;".$_SESSION['login']."!&nbsp;Для&nbsp;заказа&nbsp;товара&nbsp;необходимо&nbsp;зарегестрироваться!";
               echo 
$msg;
               exit();
            }
           else
              {

                
//проверяем есть ли такой пользователь  в таблице users;

                
$zapros "select count(*) from `users` where password=".md5($_SESSION['password'])." and login=".$_SESSION['login'];
                
$res_zapros mysql_query($zapros);
                if(
$res_zapros && mysql_num_rows($res_zapros)>0)
                {
                
//пользователь имеется
                //обнавляем дату последнего захода на сайт
                      
$query "UPDATE users SET date_last=NOW() where password=".md5($_SESSION['password'])." and login=".$_SESSION['login'];
                      
$res mysql_query($query);

                }
                else
                    {
                    echo 
mysql_errno($res_zapros).mysql_error($res_zapros);
                    
$_SESSION['login'] = 'Anonymous';
                     
$_SESSION['password'] = "";
                     
$msg "Вы&nbsp;пришли&nbsp;на&nbsp;сайт&nbsp;как&nbsp;Незарегестрированный&nbsp;пользователь.";
                     
$msg2 "Уважаемый,&nbsp;".$_SESSION['login']."!&nbsp;Для&nbsp;заказа&nbsp;товара&nbsp;необходимо&nbsp;зарегестрироваться!";
                     echo 
$msg2;
                     }
                 
$query_session "select count(*) from session_user where session_id=".session_id();
                 
$res_ses mysql_query($query_session);
                        if(
$res_ses && mysql_num_rows($res_ses)<1)
                            {
                              
$query_in_session "insert into session_user values( NULL, session_id())";
                              
mysql_query($query_in_session);
                            }
                            else
                            {
                                echo 
mysql_errno($res_ses);
                                }
              }


}


?>



PS: Прошу прощения, если не в тот раздел написал.

   
 
 автор: Devona   (05.02.2007 в 16:51)   письмо автору
 
   для: RomantikPro   (05.02.2007 в 16:32)
 

мне кажется всё просто.
так как записей в таблице нет то переменная $res_zapros остаётся пустой.
условие то вот оно

if($res_zapros && mysql_num_rows($res_zapros)>0) 
                { 
           ........
                } 
                else 
                    { 
                    echo mysql_errno($res_zapros).mysql_error($res_zapros); 

                    }

собственно код в котором варнинг (это не ошибка) выполняется при условии пустого ответа на запрос в бд.
вль и имеем результат Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in F:\www\apache\htdocs\index.php on line 32
потому как функции mysql_errno() & mysql_error() передаётся пустое значение в качестве аргумента

   
 
 автор: alek_chita   (05.02.2007 в 17:07)   письмо автору
 
   для: RomantikPro   (05.02.2007 в 16:32)
 

$zapros = "select count(*) from `users` where password=".md5($_SESSION['password'])." and login=".$_SESSION['login'];

Похоже ошибка здесь.

   
 
 автор: Devona   (05.02.2007 в 17:12)   письмо автору
 
   для: alek_chita   (05.02.2007 в 17:07)
 

В таблицах ни одной записи нет.

запрос по сути правильный
просто ничего не выбирается из базы. нечего выбирать

   
 
 автор: RomantikPro   (05.02.2007 в 17:12)   письмо автору
 
   для: alek_chita   (05.02.2007 в 17:07)
 

Я писал и вот так, т.е. без count(*).

Вот так

$zapros = "select * from `users` where password=".md5($_SESSION['password'])." and login=".$_SESSION['login'];


все равно такая ошибка,
Получается, чтобы не было такой ошибки в таблице должна быть хотя бы одна запись и не обязательно та которую выбираю запросом? Если так, то попробую позже вставить данные...
Мне не понятно почему возвращается такая ошибка, а ведь должно возвращаться значение дескриптора запроса равное нулю...которое и проверяется в условии if()

   
 
 автор: Devona   (05.02.2007 в 20:30)   письмо автору
 
   для: RomantikPro   (05.02.2007 в 17:12)
 

в общем, я описала в чём ошибка ;)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования