디비연결후 iframe정보에서 youtube만 추출~ 제발 고수님 도와주세요
관련링크
본문
if($db) { echo "성공<br>"; }
else { echo "실패<br>"; }
$query = "SELECT MAX(wr_content) AS max_wr_content FROM g5_write_menu_02_01;";
$result = mysqli_query($db, $query);
if($result) { echo "전송되었습니다.<br>"; } else { echo "전송이 되지않았습니다.<br>"; }
일단 위의 구문으로 성공, 전송되었습니다. 가 나오는 것을 확인하여 디비연결과 sql 쿼리가 작동됨을 확인했습니다.
그래서 아래와 같이 코드를 짜보았습니다.
<?php
echo "Mysql연결테스트<br>";
// mysqli_connect("호스트주소", "관리자", "아이디", "비밀번호", "데이터베이스명");
$db = mysqli_connect("localhost", "아이디", "비번", "데이터베이스명");
$sql = "SELECT MAX(wr_content) AS max_wr_content FROM g5_write_menu_02_01";
$result = mysqli_query($conn, $sql);
// php에서 사용가능한 데이터 형태인 배열로 반환
$row = mysqli_fetch_array($result);
var_dump($row);
echo "<p>{$row['max_wr_content']}</p>";
mysqli_close($conn);
?>
그런데 null 이라고 나오네요.
고수님들의 조언을 부탁드립니다.
한가지 더 부탁드리고 싶은 것은
디비에서 가져온 정보에 iframe 구문이 나오는데
게시판 내용에 입력될 내용에 iframe외에도 내용이 들어갈 예정이므로
유튜브 주소만 추출하여 다시 iframe을 만들어 표현하고 싶습니다.
아래와 같은 소스가 있던데요. 위와 합해서 정확하게 표현할 수 있는 방법을 알려주시면 감사하겠습니다.
php 문법이 처음이다보니 힘드네요. php 일주일차입니다. 도와주세요.
<?
$subject = '<iframe width="100%" height="270" src="https://www.youtube.com/embed/_3tpMK5-CZk" frameborder="0" allowfullscreen></iframe>';
$pattern ='/(src=|href=)(\'|\")?([^<>\s\'\"]*)(\'|\"|\s|)/i';
preg_match_all( $pattern, $subject, $matches );
echo $matches[3][0];
?>
답변 4
select wr_content from g5_write_menu_02_01 order by wr_id desc limit 1
로 하시면 마지막 wr_id에 wr_content를 가져올수 있습니다.
!-->이렇게 바꾸시면 될듯 합니다.
($db -> $conn 으로 바꾸시면 됩니다.)
<?php
echo "Mysql연결테스트<br>";
// mysqli_connect("호스트주소", "관리자", "아이디", "비밀번호", "데이터베이스명");
$conn = mysqli_connect("localhost", "아이디", "비번", "데이터베이스명");
$sql = "SELECT MAX(wr_content) AS max_wr_content FROM g5_write_menu_02_01";
$result = mysqli_query($conn, $sql);
// php에서 사용가능한 데이터 형태인 배열로 반환
$row = mysqli_fetch_array($result);
var_dump($row);
echo "<p>{$row['max_wr_content']}</p>";
mysqli_close($conn);
?>
그리고 IFRAME 만드는건 복잡하게 생각하시지 말고 그냥 다시 html 태그를 입력하시면 됩니다.
<iframe width="100%" height="270" src="<?=$matches[3][0]?>"></iframe>
참고를 해보시겠어요?
<?php
$subject = '<iframe width="100%" height="270" src="https://www.youtube.com/embed/_3tpMK5-CZk" frameborder="0" allowfullscreen></iframe>';
$pattern = '/<iframe.*?src="(.*?)".*?>/i';
preg_match($pattern, $subject, $matches);
if (!empty($matches[1])) {
$iframeSrc = $matches[1];
echo $iframeSrc;
} else {
echo "매칭된 iframe 주소가 없습니다.";
}
?>