SQL의 조건 필드와 테이블 필드 이름이 동일하여 전체 테이블 쿼리가 발생합니다.
안녕하세요 여러분. 저는 실제로 다음과 같은 문장을 발견했습니다.
<code>SELECT * FROM seller_item_classify where sid=$sid order by cweight asc ; </code>
여기서 $sid는 프런트 엔드에서 전달된 값이고, Seller_item_classify는 표시이며, sid는 테이블의 필드 이름입니다.
$sid에서 전달된 값이 우연히 'sid'인 경우 SQL은 다음과 같습니다. 예, 전체 테이블 쿼리가 발생합니다.
프로덕션 환경에서는 $sid 값이 숫자 값이거나 문자일 수 있으므로 PHP에서 프런트엔드 입력 값을 필터링해야 하나요?
이 문제에 대해 어떻게 생각하시나요?
답글 내용:
안녕하세요 여러분. 저는 실제로 다음과 같은 문장을 발견했습니다.
<code>SELECT * FROM seller_item_classify where sid=$sid order by cweight asc ; </code>
여기서 $sid는 프런트 엔드에서 전달된 값이고, Seller_item_classify는 표시이며, sid는 테이블의 필드 이름입니다.
$sid에서 전달된 값이 우연히 'sid'인 경우 SQL은 다음과 같습니다. 예, 전체 테이블 쿼리가 발생합니다.
프로덕션 환경에서는 $sid 값이 숫자 값이거나 문자일 수 있으므로 PHP에서 프런트엔드 입력 값을 필터링해야 하나요?
이 문제에 대해 어떻게 생각하시나요?
<code>"SELECT * FROM seller_item_classify where sid='$sid' order by cweight asc ;"</code>
프런트엔드 입력값은 백엔드에서 필터링을 해야 하며, SQL 전처리를 사용하는 것을 권장합니다.
SQL 조건값에 '' 추가
<code>sid = '$sid'</code>
as 别名
효과가 있나요?
문제 해결을 위해 작은따옴표를 추가하세요
'SELECT * FROM Seller_item_classify where sid='.$sid.' order by cweight asc ;'
pdo 전처리 사용
<code><?php $sid = issset($_REQUEST['sid']) ? htmlspecialchars(trim($_REQUEST['sid'])) : ''; if (!$sid or $sid=='sid') { // 非法请求 这里可以抛出一些异常 }</code>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Navicat Premium을 사용하여 데이터베이스 생성 : 데이터베이스 서버에 연결하고 연결 매개 변수를 입력하십시오. 서버를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 생성을 선택하십시오. 새 데이터베이스의 이름과 지정된 문자 세트 및 Collation의 이름을 입력하십시오. 새 데이터베이스에 연결하고 객체 브라우저에서 테이블을 만듭니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 삽입을 선택하여 데이터를 삽입하십시오.

응용 프로그램을 열고 새로운 연결 (Ctrl n)을 선택하여 Navicat에서 새로운 MySQL 연결을 만들 수 있습니다. "MySQL"을 연결 유형으로 선택하십시오. 호스트 이름/IP 주소, 포트, 사용자 이름 및 비밀번호를 입력하십시오. (선택 사항) 고급 옵션을 구성합니다. 연결을 저장하고 연결 이름을 입력하십시오.

SQL 삽입 문은 데이터를 테이블에 삽입하는 데 사용됩니다. 단계에는 다음이 포함됩니다. 삽입 할 열을 나열하려면 대상 테이블을 지정하십시오. 삽입 할 값을 지정합니다 (값 순서는 열 이름에 해당해야합니다).

이 기사에서는 SQL 문을 사용하여 3 개의 테이블에 가입하는 것에 대한 자세한 자습서를 소개합니다. 독자는 다른 테이블의 데이터를 효과적으로 상관시키는 방법을 배우도록 독자를 안내합니다. 예제 및 세부 구문 설명을 통해이 기사를 사용하면 SQL에서 테이블의 결합 기술을 마스터하여 데이터베이스에서 관련 정보를 효율적으로 검색 할 수 있습니다.

SQL Server에서 SQL 문을 사용하여 테이블을 만드는 방법 : SQL Server Management Studio를 열고 데이터베이스 서버에 연결하십시오. 테이블을 만들려면 데이터베이스를 선택하십시오. 테이블 이름, 열 이름, 데이터 유형 및 제약 조건을 지정하려면 테이블 작성 문을 입력하십시오. 실행 버튼을 클릭하여 테이블을 만듭니다.

Navicat을 사용하여 로컬 MySQL 데이터베이스에 연결하려면 : 연결을 만들고 연결 이름, 호스트, 포트, 사용자 이름 및 비밀번호를 설정하십시오. 연결을 테스트하여 매개 변수가 올바른지 확인하십시오. 연결을 저장하십시오. 연결 목록에서 새 연결을 선택하십시오. 연결하려는 데이터베이스를 두 번 클릭하십시오.

Navicat을 사용하여 데이터베이스에 연결하려면 다음 단계를 순서대로 수행하십시오. Navicat에서 연결을 만듭니다. 호스트 이름, 포트, 사용자 이름, 암호 및 데이터베이스 이름을 입력하십시오. 고급 설정 (선택 사항)을 조정하십시오. 연결을 저장하십시오. 연결을 테스트하십시오. 데이터베이스에 연결하십시오. 데이터베이스 객체를 봅니다.

MySQL : MySQL : Alter Table_Name ADD CORMEN_NAME DATY_TYPE; POSTGRESQL : ALTER TABLE_NAME ADD CORMENT CORMENT CORMEN_NAME DATY_TYPE; ORACLE : ALTER TABLE_NAME ADD (column_name Data_Type); SQL 서버 : Alter Table_Name Data_name Data_name ADD
