2014-06-17 2 views
0
<!DOCTYPE HTML> 

<html> 
<head> 
<?php include 'connecting.php'; ?> 
</head> 
<body> 



<h1> Welcome to location batch uploading </h1> 
<p> Please select a university </p> 

<?php 

$sql=mysqli_query($con, "SELECT college_ID,college_Name FROM college ORDER BY college_Name"); 
if(mysqli_num_rows($sql)) { 
    $select= '<form method="POST" action="locationBatchUpload.php" enctype="multipart/form-data"><select name="select"><option value = "0"> Please Select University </option>'; 
    while($rs=mysqli_fetch_array($sql)){ 
     $select.='<option value="'.$rs['college_ID'].'">'.$rs['college_Name'].'</option>'; 
    } 
} 
$select.='</select>'; 
echo $select; 

?> 


<p>Please upload the CSV file that contains location information from one college/university.</p> 

    <p><input type ="file" name = "CSVfile"></p> 
    <input type = "submit" name = "Submit" value = "Upload!"> 
</form> 


<?php 


$row = 0; 
$entries = array(); 
if(isset($_POST['Submit'])) 
{ 
    $file = $_FILES["CSVfile"]["tmp_name"]; 
    $choice = $_POST["select"]; 
    if ($file && $choice && ($handle = fopen($file, 'r')) !== FALSE) { 
     $q = "SELECT location_Name FROM location WHERE college_ID = '".$choice."'"; 
       $sql=mysqli_query($con, $q); 

if(mysqli_num_rows($sql)){ 
echo "here"; 
} 


        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 

      $query = "INSERT INTO location (location_ID,location_Name, college_ID) VALUES ('','".$data[0]."','".$choice."')"; 
echo $query. "<br/>"; 
      mysqli_query($con,$query); 
      $row++; 
     } 
     fclose($handle); 
     echo "<br/> You have entered ". $row." rows in the database"; 
    } 
    else if (!$file){ 
     echo "<br/>No file selected! Please select a file and try again!"; 
    } 
    else if (!$choice){ 
     echo "<br/>Please select a university! "; 
    } 
} 

?> 

</body> 
</html> 

안녕하세요 여러분, CSV 파일에서 데이터베이스에 정보를 입력하려고합니다. 내 드롭 다운 상자를 만들려면 mysqli_query를 사용할 때 제대로 작동합니다. 그러나, 그것을 두 번째로 사용하고 mysqli_num_rows를 사용하여 행을 가져 오려고하면 500 개의 내부 서버 오류가 발생합니다. godaddy.com에서이 사이트를 호스팅하고 있으며 사이트의 오류 로그를 찾을 수 없습니다. 이 문제에 대한 정보는 크게 감사하겠습니다. $ 콘은 데이터베이스 내 연결이며 다음과 스틱 mysqli 객체 스타일 연결을 사용하여 프로세스를 시작하고 proceedural 스타일로 다시파일에서 mysqli_query가 여러 번 작동하지 않습니다.

그래서 전환 해달라고하면 해당 연결이 잘

new mysqli(host,userName, password,dbName) 
+0

사용하십시오 [ 준비된 진술] (http://ch2.php.net/manual/en/mysqli.prepare.php) 어쨌든. – TiMESPLiNTER

답변

0

사용하여 수행됩니다 이

$con= new mysqli(host,userName, password,dbName); 

사용처럼 연결 가정

$result = $con->query("SELECT college_ID,college_Name 
         FROM college ORDER BY college_Name"); 

if($result->num_rows()){ 
    $select= '<form method="POST" action="locationBatchUpload.php" enctype="multipart/form-data"> 
       <select name="select"> 
        <option value = "0"> Please Select University </option>'; 
    while ($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
     $select.='<option value="'.$rs['college_ID'].'">'.$rs['college_Name'].'</option>'; 
    } 
} 
관련 문제