0

次のphpコードがあります。

<?php

$hostname="db.";
$database="db..";
$username="db...";
$password="pw...";
$mysql = mysql_connect($hostname, $username, $password);

if(!$mysql) 
 echo 'Not conneted to the database...' . mysql_error() ;
else
 echo 'Connected to the database...' ;

// select the appropriate database
$mysqldb = mysql_select_db( $database );
if(!$mysqldb) 
 die('Could not select the database...'  . mysql_error());
else
 echo '<br /><br />Connected to database...<br /><br />' ;

$chk_table_access = 'select * from table_name where 1';
$chk_access = mysql_query($chk_table_access);
echo $chk_table_access . '<br /><br />';
if (!$chk_access) 
 echo 'Could not access table: ' . mysql_error() ;
else
 echo 'Table was accessed..<br /><br />' ;

$backup = 'SELECT * INTO OUTFILE "result.csv" FIELDS TERMINATED BY "," OPTIONALLY     ENCLOSED BY ';
$backup = $backup . "'" . '"' . "'" ;
$backup = $backup . ' FROM cities WHERE 1';
echo $backup . '<br /><br />';
$bk_success = mysql_query($backup);
if (!$bk_success)
 echo 'The backup was not successful. Reason: '  . mysql_error();
?>

このプログラムは localhost では問題なく動作しますが、自分の Web サイトから実行すると次のエラーが表示されます。Web ヘルプはあまり役に立ちません。

「テーブルがアクセスされました..」というメッセージが表示されるので、テーブルに問題なくアクセスしています。私はエラーなしで毎日ディレクトリにフライトします。phpMyAdmin で機能しない理由がわかりました。私は少し困惑しています。これは、私がこのフォーラムで尋ねた最初の質問でもありますが、私はしばしば助けを求めてここに来ます。あなたたち(女性を含む)はロックです。前もって感謝します、スティーブ

4

1 に答える 1

0

あなたの MySQL ユーザーには明らかにFILE権限がありません。

MySQL サーバーは Web サーバーと同じマシンで実行されますか? 両方のサーバーが異なるマシンで実行されている場合は、ここで停止できます。FILE特権があったとしても、出力ファイルはデータベース サーバー上に作成されます (おそらく Web サーバーからはアクセスできません)。

于 2013-01-24T17:48:30.573 に答える