Im PHP로 초보자가 비디오를 보면서 기본 학습. 우리는 양식을 만드는 과정에 있습니다. 나는 아래를 제외하고 일어나는 모든 것을 이해했다. 그는이 같은 왜 그랬는지 사람>id='$_SESSION['user_id']";
함수를 통해 데이터베이스 필드 전달하기
id='"'.$_SESSION['user_id']."'";
function getuserfield($field){
$query = "SELECT $field FROM users WHERE id='".$_SESSION['user_id']."'";
$query_run = mysql_query($query);
if($query_run){
return mysql_result($query_run, 0, $field);
}
}
저자는 변수 보간법 대신'.' 연산자를 사용하여 연결을 선택했습니다. 하나 또는 다른 것을 할 큰 이유가 없습니다. 스타일이 대부분입니다. 'id = '$ _ SESSION ['user_id ']''는 큰 따옴표로 둘러싸인 문자열 내부에서 문법 에러가 될 것이라는 것에주의하십시오. ''id = '{$ _ SESSION ['id ']}' '로 묶인'{}'이거나'[ 'id']가 아닌'[id]'로 배열 키 따옴표를 생략해야합니다. 큰 따옴표로 묶인 문자열의 변수들에 대한 보간법 [PHP Strings 매뉴얼에 설명되어 있습니다.] (http://php.net/manual/en/language.types.string.php) –
내가 지적했듯이 - 배우기 때문에, 올바른 방법을 배우기 시작하는 것이 중요합니다. mysql _ *() 함수는 작년 PHP 5.5에서 사용되지 않으므로 새로운 코드로 사용하면 안됩니다. 결국 PHP에서 완전히 제거 될 것입니다. 대신, 준비된 명령문에 대해'prepare()/execute() '와 함께 PDO를 사용하는 법을 배우기 시작할 때입니다. [MySQL 개발자를위한이 PDO 튜토리얼] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)은 사용되지 않는'mysql _ *()'함수의 맥락에서 PDO를 배치합니다. –
연결의 차이점에 대한 정보는 [이 참조 질문] (http://stackoverflow.com/questions/5605965/php-concatenate-or-directly-insert-variables-in-string/5605970#5605970)을보십시오. 변수 보간. 매번 논증이 있습니다. 존재하는 [매우 작은 속도 차이] (http://stackoverflow.com/questions/13620/speed-difference-in-using-inline-strings-vs-concatenation-in-php5/13665#13665)도 있지만 당신은 절대 자신에 대해 걱정하지 않아야합니다. –