[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Корзина покупок на БД
freed-master
Пытаюсь записать код сессии в БД, но что-то не выходит.

Создал таблицу session с полем id_session (ТЕХТ)

В начало страницы ххх.php всавляю код:
Код
<?php
session_start();
include_once("config.php");
$id_session = session_id();
mysql_query("INSERT INTO `session` SET `id_session`='".$id_session."'", $sql) or die ("Ошибка запроса: ".mysql_error());
?>
Запускаю, а он мне выдает:
Цитата
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in Z:\home\localhost\www\ххх.php on line 5

Что с этим можно по-делать?




Спустя 14 минут, 39 секунд (21.03.2009 - 20:29) kirik написал(а):
freed-master, значит как-то криво сделано подключение к БД. Смотри, где задается $sql.

Спустя 14 минут, 23 секунды (21.03.2009 - 20:43) sergeiss написал(а):
И еще, плюс к тому, что kirik сказал... Порядок аргументов в функции mysql_query, вроде как, неправильный.

Спустя 7 минут, 1 секунда (21.03.2009 - 20:50) freed-master написал(а):
Вроде разобрался.

А вобще это нормально использовать код сессии как идентификатор пользователя? Может ли этот код повторяться?

Спустя 9 минут, 19 секунд (21.03.2009 - 21:00) sergeiss написал(а):
Ну, вообще-то, сессии и были созданы для уникальной идентификации юзеров. Так что код сессии не должен повторяться. Число уж слишком большое, вероятность его повтора маленькая.

Спустя 10 минут, 28 секунд (21.03.2009 - 21:10) freed-master написал(а):
А теперь вот какая бяка получается - при каждой перезагрузге страницы в БД записыватся еще лдин такой же код. Идея такая:
Код
$ses = mysql_query($query);

if(mysql_num_rows($ses)>0)
{ ??? }
Но что вместо ??? никак не соображу.

Спустя 1 час, 4 минуты, 11 секунд (21.03.2009 - 22:14) sergeiss написал(а):
Тебе надо внимательно почитать хэлп по MySQL, изучить все возможности INSERT. Там есть еще "довесок" в виде "ON DUPLICATE KEY UPDATE ...."

Спустя 54 минуты, 39 секунд (21.03.2009 - 23:09) freed-master написал(а):
Подскажите как это понимать:
Цитата
Если вы указываете ON DUPLICATE KEY UPDATE, и производится вставка строки, которая вызывает ошибку дублирующегося первичного (PRIMARY) или уникального (UNIQUE) ключа, то вполняется UPDATE старой строки. Например:
mysql> INSERT INTO table (a,b,c) VALUES (1,2,3)
  --> ON DUPLICATE KEY UPDATE c=c+1;

Т.е. эта функция работает только для первичных и уникальных ключей?

Спустя 38 минут, 53 секунды (21.03.2009 - 23:48) Sylex написал(а):
freed-master
UPDATE выполняется в случае дублирования ключа... иначе всегда INSERT будет проходить... что не понятного?

Спустя 12 часов, 17 минут, 17 секунд (22.03.2009 - 12:05) freed-master написал(а):
Просто хотел уточнить что это работает ТОЛЬКО для первичных и уникальных ключей...


_____________
Всем, кто заинтересован, могу помочь начать зарабатывать на forex.
Пишите в личку или на e-mail: flash-dirt@yandex.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.