我有以下的PHP代碼:PHP/MySQL的訪問被拒絕用select into OUTFILE
<?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();
?>
程序運行在本地主機上很好,但是當我從我的網站運行它,我得到以下錯誤:訪問被拒絕用戶'dbo ????????'@'%'(使用密碼:YES)。網絡幫助沒有太大的幫助。
我確實得到了「表被訪問..」的消息,所以我正在訪問表。我每天都會毫不猶豫地對目錄做些簡單的事情。我明白爲什麼它不適用於phpMyAdmin。我有點難住。這也是我在這個論壇上提出的第一個問題,儘管我經常來這裏尋求幫助。你們(包括女士們)搖滾。 在此先感謝, 史蒂夫
有幾件事情可以改善你的代碼。在做查詢時,你不需要'WHERE 1'。 'SELECT * FROM table'會給你一切。另外,爲了使閱讀更容易,試試: ''SELECT * INTO OUTFILE'result.csv「FIELDS TERMINATED BY」,「OPTIONALLY ENCLOSED BY \'」\'FROM cities''你不必切換回和「之間」和「以獲得其他變量。 – UnholyRanger
謝謝。我傾向於包含where 1子句來表示意圖。 – Steve