connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully 
";
mysqli_set_charset( $conn, 'utf8' );
//
// queries for creating a table
//
$tables = array("Film", "Actor", "Director", "ActorFilm", "DirFilm");
$sqls = array();
$talbes[0] = "Film";
$sqls[0] = "CREATE TABLE Film (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
subtitle VARCHAR(255) NOT NULL,
year int(4) NOT NULL,
url VARCHAR(255),
userRating FLOAT,
imageUrl VARCHAR(255),
linkUrl  TEXT
) CHARACTER SET utf8";
$talbes[1] = "Actor";
$sqls[1] = "CREATE TABLE Actor (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
actor VARCHAR(255) NOT NULL
) CHARACTER SET utf8";
$talbes[2] = "Director";
$sqls[2] = "CREATE TABLE Director (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
dir VARCHAR(255) NOT NULL
) CHARACTER SET utf8";
$talbes[3] = "ActorFilm";
$sqls[3] = "CREATE TABLE ActorFilm (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
filmID INT,
actorID INT
) CHARACTER SET utf8";
$talbes[4] = "DirFilm";
$sqls[4] = "CREATE TABLE DirFilm (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
filmID INT,
dirID INT
) CHARACTER SET utf8";
// check if the table exists already by using a function "table_exist"
for ($j=0;$j 0) {
    echo "Table " . $tables[$j] . " already exists.
";
    } else if ($conn->query($sqls[$j]) === TRUE) {
      echo "Table created with no prob 
";
    } else {
      echo "Error creating table: " . $conn->error . "
";  }
}
echo "
";
//
// end of creating tables
//
// read movie titles for parsing movie info from naver api
$lines = file('movie.dat');
/* api 처리 */
$key = "677eabb7e94745f7f3a043908c540dc5";
for ($i=0;$i\n\n";  // 실제 사용되는 html request를 프린트 해봄
		$xml = simplexml_load_file($url); // 결과값을 xml parsing 함
	  foreach ($xml->channel->item as $movie) {
		  // echo "$query :: trim(strip_tags($movie->title)) 
";
	  	if ($query == trim(strip_tags($movie->title))) {
	  		$title = trim(strip_tags($movie->title));
	  		$title = mysqli_real_escape_string($conn, $title);
	  		$subtitle = trim(strip_tags($movie->subtitle));
	  		$subtitle = mysqli_real_escape_string($conn, $subtitle);
	  		// echo "title (sub): " . $title . " (" . $subtitle . ")
";
	  		$year = $movie->pubDate;
	  		$dirString = trim($movie->director);
	  		$actorString = trim($movie->actor);
	  		$dirA = explode("|", $dirString);
	  		$actorA = explode ("|", $actorString);
	  		$userRating = $movie->userRating;
	  		$imageUrl = $movie->image;
	  		$linkUrl = $movie->link;
				// 영화 정보 처리
				// title check
				$sql = "SELECT * FROM Film WHERE title='$title' and year='$year' ";
				$res = $conn->query($sql);
				if ($res->num_rows == 0) { // title is new
					echo "this $title is new. 
";
					$sql = "INSERT INTO Film(title, subtitle, year, userRating, imageUrl, linkUrl) VALUES ('$title', '$subtitle', '$year', '$userRating', '$imageUrl', '$linkUrl')";
					if (mysqli_query($conn, $sql)) {
						$fID = mysqli_insert_id($conn);
						echo "Inserted film ID is: " . $fID . "
";
					} else {
						echo "Error: ". $sql . "
" . mysqli_error($conn);
					}
					// title is new 인경우의 if문 아직 닫지 않음
					// director 정보
					// almost one; but just in case
					for ($j=0;$j<(sizeof($dirA)-1);$j++) {
						// check first director exist
						// if new
						// INSERT into director table
						// get ID
						// INSERT ID and fID into dirFilm
						$sql = "SELECT * FROM Director WHERE dir='$dirA[$j]'";
						$res = $conn->query($sql);
						if ($res->num_rows == 0) { // director name is new
							// INSERT director name into Director table
							$sql = "INSERT INTO Director(dir) VALUES ('$dirA[$j]')";
							if (mysqli_query($conn, $sql)) {
								$dID=mysqli_insert_id($conn);
								echo "Director: " . $dirA[$j] . " Inserted director ID is: " . $dID . " and associated film ID: $fID 
";
								// this
								$sql5 = "INSERT INTO dirfilm(filmID, dirID) VALUES ('$fID','$dID')";
								insert_sql($conn,$sql5);
							} else {
								echo "Error: ". $sql . "
" . mysqli_error($conn);
							}
						} else {
							// get the existing director ID
							$sql3 = "SELECT id FROM Director WHERE dir='$dirA[$j]' LIMIT 1";
							$res3 = $conn->query($sql3);
							$row = $res3->fetch_assoc();
							$dirID = $row["id"];
							echo "director, $dirA[$j] ID: " . $row["id"] ."
";
							echo "at the same time: we are holding " .$fID ."
";
							$sql = "INSERT INTO dirfilm(filmID, dirID) VALUES ('$fID','$dirID')";
							insert_sql($conn,$sql);
						}
					}
					for ($k=0;$k<(sizeof($actorA)-1);$k++) {
						// check the actor exist in the actor table with name
						// if new INSERT
						// get ID
						// INSERT actorID with fID
						$sql = "SELECT * FROM Actor WHERE actor='$actorA[$k]'";
						$res = $conn->query($sql);
						if ($res->num_rows == 0) { // actor name is new
							// INSERT actor name into actor table
							$sql2 = "INSERT INTO Actor(actor) VALUES ('$actorA[$k]')";
							$id = insert_sql($conn,$sql2);
							$sql4 = "INSERT INTO actorfilm(filmID, actorID) VALUES ('$fID','$id')";
							insert_sql($conn,$sql4);
						} else { // get the existing actor ID
							$sql3 = "SELECT id FROM Actor WHERE actor='$actorA[$k]' LIMIT 1";
							$res3 = $conn->query($sql3);
							$row = $res3->fetch_assoc();
							$actorID = $row["id"];
							echo "actor, $actorA[$k] ID: " . $row["id"] ."
";
							echo "at the same time: we are holding " . $fID . "
";
							$sql = "INSERT INTO actorfilm(filmID, actorID) VALUES ('$fID','$actorID')";
							insert_sql($conn,$sql);
						}
					} // actorA for 문
				} // if문 is it new? --> title is new
				else {
					echo "title (sub): " . $title . " (" . $subtitle . ") is not new. 
";
				} // 이미 있음
			} // if query = search title 인 경우. 쓸데 없는 영화정보가 자꾸 들어가는 걸 막음.
		} // foreach
	} // checking empty line (else 문)
} // data 영화제목 line
$conn->close();
function insert_sql($conn,$sql) {
	if (mysqli_query($conn, $sql)) {
	  $id = mysqli_insert_id($conn);
		// echo "Inserted ID is: " . $id . "
";
		return $id;
	} else {
		// $error = "Error: ". $sql . "
" . mysqli_error($conn);
		return mysqli_error($conn);
	}
}
function table_exist($table){
    global $conn;
    $sql = "show tables like '".$table."'";
    $res = $conn->query($sql);
    return ($res->num_rows > 0);
}
?>