XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
조회 수 136 댓글 8
<?php
    include("index_search.php");
    $post_num = $_GET['num_post'];
    $search = $_POST['search_query'];
    $search_array = search_spot($search);
    echo "<script type= 'text/javascript'>";
  echo "var search_list = new Array();";
  for ($i = 0 ; $i < count($search_array); ++$i){
    echo "search_list[".$i."] = ".$search_array[$i].";";
  }
 
  echo "</script>";
 
  ?>
 
 
------------여기까지 index.php --------------
 
 
<?php
function search_spot($query){
include("connect.php");
  $search_array = array();
  //get tag number of the search key word
  $qry_tag_key = mysql_query("SELECT * FROM `tag_minor_list` WHERE `tag_name` LIKE '%".$query."%'", $conn);
  while($row_tag_key = mysql_fetch_row($qry_tag_key)){
    $qry_tag_num = $row_tag_key[0];
 
    //get post num that tag search key word indicates
    $qry_tag = mysql_query("SELECT `post_num` FROM `tag_post` WHERE `tag_num` = '$qry_tag_num' AND `tag_level` = '5'" , $conn);
    while($search_tag = mysql_fetch_row($qry_tag)){
      //save in array of tag-post
      array_push($search_array, $search_tag[0]);
    }
  }
     
 
   
  //$search_array is setted for tag search
  //get post array beneath
  $qry_post = mysql_query("SELECT * FROM `post` WHERE `post_title_kor` LIKE '%".$query."%' OR `post_title_eng` LIKE '%".$query."%' OR `post_title_native` LIKE '%".$query."%' ORDER BY `post_num` DESC", $conn);
 
  while($search_post = mysql_fetch_row($qry_post)){
    array_push($search_array, $search_post[0]);
  }
 
  //make values unique
  $search_array = array_unique($search_array);
  rsort($search_array);
 
  return $search_array;
   
}
 
?>
 
-------- 여기까지 index_search.php --------------
 
 
<?php
$servername = "localhost";
$username = "user_id";
$password = "password";
$webpage = "http://site.com";
// Create connection
$conn = mysql_connect($servername, $username, $password);
  @mysql_select_db("seleted_old_id", $conn) or die("DB_ERR");
  mysql_query("set session character_set_connection=utf8;");
      mysql_query("set session character_set_results=utf8;");
      mysql_query("set session character_set_client=utf8;");
 
?>
 
----------- 여기까지 connect.php ---------

 

이런구문이있는데요

 

1. php 5.6에선 잘 작동하는데

php7에선 로드가 안되는데 혹시 문법이 바뀐건가요? 위에서 뭐가문제일까요

  • profile
    기진곰 2016.12.27 02:19:32

    PHP7에는 mysql_connect, mysql_query 등의 함수가 없습니다. mysqli나 pdo를 사용하여 DB에 접속해야 합니다.

  • ?
    Jack 2016.12.27 02:23:45
    답변 감사합니다.. 으으 내일 작업해야겠네요
  • ?
    Jack 2016.12.27 21:13:39
    찾아보니 mysql -> mysqli 로만 바꿔주면 되는것 같던데 왜 안될까요 ㅜㅜ
  • ?
    SimpleCode 2016.12.27 21:25:08
    MySQLi 확장 모듈이 활성화되어 있어야 합니다.
    phpinfo()에서 mysqli 항목이 있는지 찾아보세요.
  • ?
    Jack 2016.12.27 21:33:55 Files첨부 (2)

    22.PNG

     

    11.PNG

     

     

    mysqli에 걸리는 모든항목이에요 익스텐션 활성화되있는건가요?

  • ?
    Jack 2016.12.27 22:01:32 Files첨부 (1)

    11.PNG

     

     

    잘못찍었네요 이거에용

     

  • ?
    SimpleCode 2016.12.27 22:10:10

    소스를 보니까 mysqli에는 없는 함수가 있네요.

    mysqli에서는 mysqli_connect()와 동시에 데이터베이스를 선택하면 됩니다.

     

    $conn = mysql_connect($servername, $username, $password);
    @mysql_select_db("seleted_old_id", $conn) or die("DB_ERR");

     

    대신에

     

    $conn = mysqli_connect($servername, $username, $password, "seleted_old_id");

     

    이렇게 해 보세요.

  • ?
    Jack 2016.12.27 22:35:00
    감사합니다 덕분에 db연결은 된것 같은데 불러오질 못하네요 흐휴 ㅜㅜ

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...