2010-09-04 32 views
0

我试图上传我的项目我的机器,而且我从MySQL得到错误的是:执行拒绝用户tisegoco_goitse“@例行的“localhost”命令“tisegoco_tisego.offices

execute command denied to user 'tisegoco_goitse'@'localhost' for routine 'tisegoco_tisego.offices 

我授予此用户在数据库上的所有权限。

现在我试图访问这个程序:

delimiter // 
create procedure sample() 
begin 
     select * from tblusers; 
end 
delimiter ; 

和PHP代码如下:

require ("db.php"); 
$db = dbConnect(); 

$result = $db->query("CALL sample()"); 
echo $db->error; 
while(list($id, $city, $address) = $result->fetch_array()) 
echo "($id) $city: $address <br />"; 

请帮忙,谢谢。

+0

你是否设法在远程站点上得到一个简单的SQL查询?即$ db-> query(“SELECT version()”); 另外,它可能值得创建一个“离散测试文件夹”进行实验。而不是在主页上回显这些东西。 – 2010-09-04 14:42:43

+0

@JW那$ db-> query(“SELECT version()”);代码工程 – mneva 2010-09-04 17:48:01

回答

0

您可能在共享服务器上。

Cpanel/PHPMyAdmin不允许用户赋予基于cPanel的共享服务器的执行权限。 该问题只能由具有root访问权限的虚拟主机公司修复。要求他们授予所需的权限。

即使您自己授予所有权限,您也不会获得执行权限。

0

现在忘记存储过程,并尝试做一个简单的查询来看看像这样。

把它在小步骤。

<?php 

    require ("db.php"); 

    $db = dbConnect(); 

    echo 'Doing query...'; 

    $result = $db->query("SELECT * FROM offices"); 

    if (!(is_object($result))) 
     { 
     echo 'No result returned from query'; 
     //echo $db->error; 
     } 
    else 
     { 

     while(list($id, $city, $address) = $result->fetch_array()) 
     { 
     echo "($id) $city: $address \n"; 
     } 
     } 


    ?> 
+0

这个完美的作品,但不是我的存储过程 – mneva 2010-09-04 17:52:12

+0

'完美的作品' - 我会停在那里。你必须质疑你是否需要使用存储过程。如果它们是必需的(考虑到MySQL在没有它们的情况下存活到第5版,这是不太可能的),那么你需要确保db用户在'offices'表上具有'执行'权限以使你的应用程序正常运行。这很容易取决于您的主机设置/您切换主机的能力。请先阅读:http://xprogramming.com/Practices/PracSimplest.html – 2010-09-05 04:59:06

相关问题