PHP 코드의 두 조각 :PHP에서 MySQL 행 목록을 호출하면 예기치 않은 결과가 발생합니다.
첫 번째 코드는 다른 행의 값을 순차적으로 제공합니다.
while ($row = mysql_fetch_assoc($rst)) {
...
$link1 = $row['audio1'];
if ($link1) {
$link1 = $link1;
}
...
}
두 번째 행은 첫 번째 행의 값을 출력하고 모든 후속 행에 값을 적용합니다.
.l.e. 첫 번째 코드 샘플
Audio1.mp3
Audio2.mp3
Audio3.mp3
생성 여기서 두 번째는 두 유사한 구현 출력이 다른 이유 질문은
Audio1.mp3
Audio1.mp3
Audio1.mp3
를 생성한다.
첫 번째 예제는 한 줄 (첫 번째 줄) 만 출력하고 두 번째 예제의 출력은 반복 줄과 동일합니다. 한 테이블, INT (ID), CHAR, SMALLINT, TINYTEXT, TEXT, TEXT, TINYTEXT (AUDIO 1) 사용되는
MySQL의 테이블은 다음 구조를 갖는다. 마지막 행 (audio1)은 대부분 비어 있고 중간에 NULL이 아닌 값을 가지고 있습니다 (id 필드로 정렬 한 경우). 'audio1'을 다른 열 이름으로 바꾸면 두 경우 모두 해당 필드에 대한 올바른 결과가 나타납니다.
또 하나의 추가 사항은 실제로 행을 걸러내는 mysql_query에 SELECT 문을 넣는 것입니다. 반환되는 행 수에 따라 두 번째 예제의 그림은 3 개의 반복되지 않는 값 다음에 끝까지 세 번째 값이 반복되는 것과 같이 약간 다를 수 있습니다.
게시하는 부분은 실제로 동일합니다. 그래서 오류는 어딘가에'... '에 숨겨져 야합니다 ... – Wrikken
아무런 차이가 없어야합니다. 첫 번째 것은 다소 무의미합니다 :'if (value는 non-falsey) {value = value}'. –
'if ($ link1) {$ link1 = $ link1;}'... 뭐라고 요? –