我有以下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上正常运行,但是当我从我的网站运行时,我收到以下错误:用户'dbo访问被拒绝'''%'(使用密码:是) 。网络帮助没有多大帮助。
我确实得到了“Table was visited ..”消息,所以我正在访问该表。我每天都对目录不满意而且没有错误。我理解为什么它在phpMyAdmin中不起作用。我有点难过。这也是我在这个论坛上提出的第一个问题,尽管我经常来这里寻求帮助。你们(包括女士)摇滚。 提前致谢, 史蒂夫
答案 0 :(得分:0)
您的MySQL用户显然缺少FILE
privilege。
MySQL服务器是否与Web服务器在同一台机器上运行?如果两个服务器都在不同的计算机上运行,则可以在此处停止:即使具有FILE
权限,也会在数据库服务器上创建输出文件(并且可能无法从Web服务器访问)。