> 백엔드 개발 > PHP 튜토리얼 > if판결은 왜 작성해야 하나요???

if판결은 왜 작성해야 하나요???

WBOY
풀어 주다: 2016-09-14 09:41:20
원래의
984명이 탐색했습니다.

(나만의 프론트엔드, PHP 초보자)

여러분께 프론트엔드 데이터를 받아 데이터베이스에 넣을 때 왜 써야 하는지 묻고 싶습니다

<code>if ($conn -> query($sql) == true){echo"插入数据库成功"}</code>
로그인 후 복사
로그인 후 복사

이 문장은 데이터가 성공적으로 삽입되어야 한다는 판단이 아닌가요? 판단하지 않는다면 그냥 데이터를 삽입하세요

<code>$sql = "insert into yihe (name, psw) values ('$name', '$psw')";</code>
로그인 후 복사
로그인 후 복사

데이터베이스에 직접 삽입할 수는 없나요????

답글 내용:

(나만의 프론트엔드, PHP 초보자)

여러분께 프론트엔드 데이터를 받아 데이터베이스에 넣을 때 왜 써야 하는지 묻고 싶습니다

<code>if ($conn -> query($sql) == true){echo"插入数据库成功"}</code>
로그인 후 복사
로그인 후 복사

이 문장에서는 데이터를 성공적으로 삽입해야 한다는 판단이 아닌가요?

<code>$sql = "insert into yihe (name, psw) values ('$name', '$psw')";</code>
로그인 후 복사
로그인 후 복사
데이터베이스에 직접 삽입할 수는 없나요????

일부 데이터베이스 작업에는

, 插入 등과 같은 반환 값이 있습니다. 작업이 성공하면 true를 반환하고, 실패하면 false를 반환한 다음 결과에 따라 작동합니다. 반환 값 修改

질문자는

을 쓰지 않으면 삽입이 성공하지 못한다고 했는데, 이는 이해가 잘못되었다는 의미입니다. if의 실행 결과를 다음과 같은 값에 할당할 수 있습니다. $conn->query($sql)

<code>$flag = $conn->query($sql);
if($flag == TRUE){  //如果返回值为TRUE 说明插入成功 否则就插入失败
    echo 'nice!';
}else {
    echo 'error!';
} </code>
로그인 후 복사
질문자는 데이터베이스에 대한 기본 지식을 살펴볼 수 있으며, 질문하는 내용은

쉽게 답변됩니다.

SQL 문이 실행되지 않을 수 있습니다. 예를 들어 데이터베이스 프로세스가 갑자기 충돌하거나, 메모리가 폭발하거나, 심지어 높은 동시성(일반 노트북이 초당 실행할 수 있는 mysql 쿼리의 개수는 몇 백 개에 불과하고, 너무 많으면 제대로 실행되지 않는다) )

데이터를 직접 삽입하려면 문제 없습니다. 다음과 같이 작성하세요.

<code>$conn->query($sql);</code>
로그인 후 복사
도대체

아니면 if 아닌가? 어쨌든 이런 방식으로 작성하는 것은 대부분의 경우 괜찮고 실행할 수 있지만 충분히 표준화되지 않았으며 숨겨진 위험이 있습니다. if

두 가지 결과가 있기 때문에 하나는 성공이고 다른 하나는 실패입니다. 성공에는 성공 처리(프롬프트 처리 성공)가 있고 실패에는 실패 처리(예: 사용자 입력 수정 프롬프트)가 있습니다.

이 실행될 때까지 실제로 쓰기가 실행되지 않기 때문입니다. $conn->query($sql)

http://php.net/mysqli

데이터 삽입이 성공했는지 확인하려면 두 가지 조건이 충족되어야 합니다.
첫째, SQL 문에 구문 오류가 없으며 이는 해당 쿼리()는 false를 반환하지 않습니다.
두 번째는 영향을 받는 동작의 1개 행으로, 영향을 받는 행에 1로 반영됩니다.
다른 업데이트/삭제 및 기타 쓰기 작업은 유사합니다.

<code>if ($mysqli->connect_errno) //判断连接是否成功,错误信息$mysqli->connect_error
if ($mysqli->query())       //判断SQL语句执行是否成功,错误编号$mysqli->errno,错误信息$mysqli->error
if ($stmt->prepare())       //判断SQL语句预处理是否成功,错误编号$mysqli->errno,错误信息$mysqli->error</code>
로그인 후 복사
관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿