2013-11-22 2 views
0

MySQL의 쿼리에서 세션 변수를 사용합니다. 그래서 나는 세션 변수를 일반적인 PHP 변수에 저장했다. 쿼리를 실행하려고 시도했습니다. -어떻게이 쿼리를 실행하려고

$name = $_SESSION['fname']; 
$username = $_SESSION['username']; 
$height = $_SESSION['height']; 
$image = $_SESSION['image']; 

$sql="INSERT INTO REGISTRATIONS VALUES ('$name', '$username', '$height', '$image');"; 

그리고 그것은 효과가있었습니다.

하지만 처음 두 가지가 작동하지 않는 이유와 Session을 작동시키기 위해 Session을 다른 변수에 저장해야하는 이유를 알고 싶습니다.

는 :)

+0

오류를 언급 하시겠습니까? – mithunsatheesh

답변

3

내부 문제

연관 배열을 사용하는 방법을 확인에서 오류가 발생합니다. 특수 구문없이 문자열 내부의 배열 인덱스에 액세스 할 수 없습니다 (아래 참조).

해결

연결 연산자와 문자열과 변수 .

$sql = " 
    INSERT INTO REGISTRATIONS 
    VALUES ('" 
    .$_SESSION['fname']. 
    "', '" 
    .$_SESSION['username']. 
    "', '" 
    .$_SESSION['height']. 
    "','" 
    .$_SESSION['image']. 
    "');"; 

또는 PHP의 variable interpolation을 사용하면, "컴플렉스 (둥근) 구문"참조 별도. 이것은 선호되는 방법입니다.

$sql = " 
    INSERT INTO REGISTRATIONS 
    VALUES (
     '{$_SESSION['fname']}', 
     '{$_SESSION['username']}', 
     '{$_SESSION['height']}', 
     '{$_SESSION['image']}' 
    ); 
"; 

큰 따옴표로 묶은 문자열에만 적용됩니다.

+0

감사합니다. 설명해. :) – omkarbhagat

2

은이가 그렇게 된 이유를 원한다면 이러한

$sql="INSERT INTO REGISTRATIONS VALUES ('".$_SESSION['fname']."', '".$_SESSION['username']."', '".$_SESSION['height']."', '".$_SESSION['image']."')"; 
+0

고마워요. :) 알았어요. – omkarbhagat

+0

귀하 환영 : –

0

당신이

echo "$_SESSION[name]"; 
echo "{$_SESSION['name']}"; 

http://php.net/manual/en/language.types.string.php#language.types.string.parsing.simple

를 볼 수 있습니다 시도 도와주세요 뭐, 너를 도울 수 없어. 그러나 언제나 그렇듯이 : PHP는 오래되었고 진화를 거듭하여 일관성없는 구문을 도입합니다.

또한 당신이 코드

$sql = " 
    INSERT INTO REGISTRATIONS 
    VALUES (
     '$_SESSION['fname']', 
     '$_SESSION['username']', 
     '$_SESSION['height']', 
     '$_SESSION['image']' 
    ); 
"; 

에 구문 오류가 있습니다 따옴표

http://php.net/manual/en/language.types.array.php#language.types.array.foo-bar

http://php.net/manual/en/language.types.string.php#language.types.string.parsing.complex

+0

감사. 정확히 내가 무엇을 찾고 있었는지는 모르지만, 한 가지 방법으로 도움을주었습니다. 또한 모든 링크에 감사드립니다. – omkarbhagat

관련 문제