2011-05-15 7 views
0
session_start(); 
    if(!$_SESSION['user_id']) 
    { 
    $_SESSION['user_id'] = rand(1, 1000000); 


    include 'database_connect.php'; 

mysql_query('INSERT INTO product_views (user_session_id) 
      VALUES 
      ('.$_SESSION['user_id'].')'); 

     } 

$productid = $_GET['name']; 

    $query = 'SELECT * FROM product_views WHERE user_session_id = '.$_SESSION['user_id'].''; 
    $result = mysql_query($query); 

    while ($row = mysql_fetch_array($result)) 
{ 

mysql_query('UPDATE product_views SET modelNumber="'.$productid.'" WHERE     user_session_id="'.$_SESSION['user_id'].'"'); 


} 

내 필드 modelNumber가 null로 설정되어 있고 마지막 쿼리를 통해 업데이트를 수행하고 있습니다. 기본값이 null이므로 삽입을 허용하지 않는다고 생각합니까? 정의 된 값이 삽입되지 않았습니다.

내 테이블 구조

:

CREATE TABLE `product_views` (
    `id` int(10) DEFAULT NULL, 
    `user_session_id` int(11) DEFAULT NULL, 
    `product_id` varchar(100) DEFAULT NULL, 
    `view_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `modelNumber` varchar(... 
+0

당신이 문제가되는 사용하는 세션 변수의 가능성을 제거하기 위해 테스트 데이터를 시도? – Jon

+0

예, session_id를 데이터베이스에 삽입하지만 $ productid를 삽입 할 수 없습니다. mysql 에러가 발생하지 않는다. 아무 것도하지 않는다. –

+0

$ _GET [ 'name']이 (가) 값을 확실히 반환하고 있습니까? – Jon

답변

2

나는 혼란 스러워요 : 당신은 왜 당신도 $row를 사용하지 않는 경우 설정이 결과를 통해 반복되는

$query = 'SELECT * FROM product_views WHERE user_session_id = '.$_SESSION['user_id'].''; 
$result = mysql_query($query); 

while ($row = mysql_fetch_array($result)) 
{ 
    mysql_query('UPDATE product_views SET modelNumber="'.$productid.'" WHERE     user_session_id="'.$_SESSION['user_id'].'"');  
} 

?

편집 :이 당신이 정말로 뭘 하려는지 생각 :

session_start(); 
if(!$_SESSION['user_id']) 
{ 
    // Get the user ID 
    $_SESSION['user_id'] = rand(1, 1000000); 
    require_once('database_connect.php'); 

    // Get the model number and escape it to prevent SQL injection 
    $model_number = mysql_real_escape_string($_GET['name']); 

    // Insert a row that associates the user_id with the model number 
    mysql_query("INSERT INTO product_views (user_session_id,modelNumber) VALUES('{$_SESSION['user_id']}', '$model_number')"); 
} 
+0

내 논리는 데이터베이스에서 세션 ID를 가져오고 세션 ID를 기반으로 레코드를 업데이트하는 것입니다. –

+0

@RPM 내 의견을 참조하십시오. –

+0

완벽하게 일했습니다. –

관련 문제