2011-07-25 17 views
0

使用するので、管理者は、彼は私が[] ... をここに私のコードはデータのエクスポートSQLからExcelはPHP

session_start(); 
$HOST = 'localhost'; 
$USERNAME = 'root'; 
$PASSWORD = ''; 
$DB = 'fyp_db'; 

$link = mysqli_connect($HOST, $USERNAME, $PASSWORD, $DB); 

if (is_array($_POST['col'])) { 
    $sql = "SELECT "; 
    foreach ($_POST['col'] AS $value) { 
     $sql .= "{$value}, "; 
    } 
    $sql = substr($sql, 0, -2); 
    $sql .= " FROM account, coursedetail, coursecategory"; 
    /*echo "sql= " . $sql . "<br /><br />\n";*/ 
} else { 
    echo "No column was selected<br /><br />\n"; 
} 

function cleanData(&$str) { $str = preg_replace("/\t/", "\\t", $str); $str = preg_replace("/\r?\n/", "\\n", $str); if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; } 

$filename = "website_data.xls"; 
header("Content-Type: text/plain"); 
$flag = false; 
$result = mysqli_query($link, $sql) or die(mysqli_error($link)); 
while(false !== ($row = mysql_fetch_assoc($result))) { 
    if(!$flag) { 
    // display field/column names as first row 
    echo implode("\t", array_keys($row)) . "\r\n"; 
    $flag = true; 
     } 
     array_walk($row, 'cleanData'); 
     echo implode("\t", array_values($row)) . "\r\n"; 

     } 
をエクスポートするためだCOLに保存されているチェックボックスを選択することにより、Excelにエクスポートするにしたいものを選択する選択肢を持っています

私はのエラー..

警告だ:mysql_fetch_assoc()パラメータ1がリソースであることを期待し、オブジェクトがCで与えられた:\ xamppの\ htdocsに\プロジェクト\ export_successful.phpをライン上

なぜですか? :(

+0

たぶん、あなたのSQLが無効です。投稿してくださいあなたのSQLクエリecho()。 また、mysql_real_escape_string()またはそのようなものを使用しないでください! – ComFreek

+0

$ sqlをエコーするとき、このsql = SELECT名、contact_number、address、date_of_birth、email、title、カテゴリFROMアカウント、coursedetail、coursecategory – user861896

+0

SQLは有効ですが、私は問題がMarc Bのようにmysqlとmysqliだと考えています。 – ComFreek

答えて

2

あなたはmysqliのとMySQLの呼び出しを混合している。2つのライブラリに互換性がないと1で返されたハンドル/文は他に使用することはできません。

$result = mysqli_query($link, $sql) or die(mysqli_error($link)); 
       ^--- note the 'i' 
while(false !== ($row = mysql_fetch_assoc($result))) { 
          ^--- note the LACK of an 'i' 
+0

私がC:\ xampp \ htdocs \ project \ export_successful.php:17のC:\ xampp \で既に送信されたヘッダーを修正することはできません。 htdocs \ project \ export_successful.php on line 26 name Joe – user861896

+0

header()コールの前にANY出力を指定することはできません。 –

関連する問題