2016-12-08 3 views
0

PHP 데이터를 CSV로 내보내는 PHP 파일이 있습니다.

하지만 경고 다음과 같은 오류

있어 : mysql_num_fields()는 매개 변수 (1) 자원 부울 C에 제시 될 것으로 예상 : \ XAMPP \ htdocs를 \ exporttocsv3 \ export2csv.php 라인 28

경고 :로 MYSQL_ASSOC()가 파라미터 1 C 주어진 자원 부울 것으로 기대 : \ XAMPP \ htdocs를 \ exporttocsv3 \ export2csv.php 라인40

Form.php

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 

<form method="post" action="export2csv.php"> 
    <input type = "text" name ="wow" placeholder="Search by name"> 
<button name="submit" type="submit">Wew</button> 
</form> 

</body> 
</html> 

export2csv.php

<?php 

// Database Connection 

$host="localhost"; 
$uname="root"; 
$pass="louchin"; 
$database = "phppot_examples"; 

$connection=mysql_connect($host,$uname,$pass); 

echo mysql_error(); 

//or die("Database Connection Failed"); 
$selectdb=mysql_select_db($database) or die("Database could not be selected"); 
$result=mysql_select_db($database) 
or die("database cannot be selected <br>"); 



if (isset($_POST['submit'])) { 

$name = $_POST['wow']; 

$output = ""; 
$table = "toy"; 
$sql = mysql_query("SELECT id, name, code FROM $table WHERE (name LIKE '%$name%'"); 
$columns_total = mysql_num_fields($sql); 

// Get The Field Name 

for ($i = 0; $i < $columns_total; $i++) { 
    $heading = mysql_field_name($sql, $i); 
    $output  .= '"'.$heading.'",'; 
} 
$output .="\n"; 

// Get Records from the table 

while ($row = mysql_fetch_array($sql)) { 
for ($i = 0; $i < $columns_total; $i++) { 
$output .='"'.$row["$i"].'",'; 
} 
$output .="\n"; 
} 

// Download the file 

$filename = "myFile.csv"; 
header('Content-type: application/csv'); 
header('Content-Disposition: attachment; filename='.$filename); 

echo $output; 
exit; 
} 
?> 

mysql에서 볼 수 있듯이 나중에 mysqli 쿼리로 변환 할 것이다. 미래의 답변 주셔서 감사합니다

+1

누락) 쿼리에서 –

+1

당신은 당신의 SQL 쿼리에서 ')'가 누락되었습니다. – Dave

+0

네, 고마워요! 나는 대답에 그것을 읽었다! :) – IKenat

답변

0

귀하의 검색어에 가까운 괄호가 없습니다. 그것이 오류를 나타내는 이유입니다.

$sql = mysql_query("SELECT id, name, code FROM $table WHERE (name LIKE '%$name%')")