2012-04-18 4 views
0

$をと手動で宣言すると、正常に実行されるクエリがあります。これは、user_idセッションに設定しようとすると値が(たとえば30)になります。

// $add = 30; 
// The line above works 
$add = mysql_real_escape_string($_SESSION['user_id']); 
$query = "UPDATE mytable SET act=0, add=$add WHERE id=$selected_user"; 

私は間違っています。あなたは、常にこのような任意の$_SESSION、使用前にこれを指定する必要がセッションを使用して

+0

あなたはセッション – Shyju

+0

からの値を持っていますか?はい、私はページに細かいセッションを書いています – Tom

+0

$ _SESSION ['user_id']に値があることを確認しましたか? –

答えて

1

た場合:他の手で

session_start(); 
//now you are able to use this 
$_SESSION['user_id'] = 30; 

、私は前と同じ問題を持って、何をする必要がある 置くことです変数に$_SESSION['user_id']と入力すると、問題なくmysql_real_escape_stringに渡すことができます。

$id = $_SESSION['user_id']; 
//now use this: 
$add = mysql_real_escape_string($id); 

は、この情報がお役に立てば幸いです。

+0

Doh! me(php newbie)の基本エラー...クエリを実行しているページでsession_start()を忘れてしまった!ありがとう – Tom

+0

問題はありません。また、私の2番目の提案をしようとする前に、私も$ _SESSIONを直接渡すときにいくつかのクラッシュがありますし、あなたの問題を解決する場合は私の答えをチェックすることを忘れないでください:-) –

+0

ありがとう...私は、無関係なコードで問題を混乱させないようにしたいと考えました。 – Tom

1

質問:私は間違っていると思っていますか?

A:はい。セッションは空です。

SUGGESTIONS:

  1. $ _SESSION [ 'user_idの']が空であることを確認するために "エコー" を行います(私はそれがされる99%確信している)

  2. 「あなたを確認してください実際にセッション(例えば "のsession_start()を")の設定

  3. 再ご確認してください "のsession_start()" 前に、あなたの<html>タグを発生します。

  4. デバッグ$ _SESSIONを設定するコード[ 'user_idの']

これは良いリンクです:

http://www.w3schools.com/php/php_sessions.asp

0

私はほとんどあなたがでsession_start();を忘れてしまったことを保証することができますあなたのスクリプトの先頭。セッション変数をエコーし​​ないと、何も返されなければ何も設定していません。

関連する問題