2012-10-04 46 views
0

我試過了我能想到的一切...從我的本地主機到另一個服務器主機(它也使用本地主機,因爲我顯然是在他們的服務器上使用ftp),而且我仍然繼續錯誤: 警告:mysqli :: mysqli()[mysqli.mysqli]:(28000/1045):在/ www/zxq中拒絕用戶'(審查)_zxq'@'192.168.1.1'(使用密碼:YES) .net/a/p/p /(已審查)/htdocs/lib.php第6行 連接失敗:訪問被拒絕用戶'(審查)_zxq'@'192.168.1.1'(使用密碼:是)MySQL在多臺主機上重複拒絕

我也嘗試了多個支持mysql的主機......我一直在收到這個錯誤,並且我知道我的憑據是正確的。而且我已授予數據庫以及用戶權限。有什麼建議麼? (PS。我刪的重要資料給我)

<?php 
$server = 'localhost'; 
$login = '792981_kputts'; 
$password = 'whatup4u'; 
$database = '(censored)_zxq_ireport'; 

//access 
$connection = new mysqli($server, $login, $password, $database); 

//executes a given sql query with the params and returns an array as result 
function query() { 
    global $link; 
    $debug = false; 

    //get the sql query 
    $args = func_get_args(); 
    $sql = array_shift($args); 

    //secure the input 
    for ($i=0;$i<count($args);$i++) { 
     $args[$i] = urldecode($args[$i]); 
     $args[$i] = mysqli_real_escape_string($link, $args[$i]); 
    } 

    //build the final query 
    $sql = vsprintf($sql, $args); 

    if ($debug) print $sql; 

    //execute and fetch the results 
    $result = mysqli_query($link, $sql); 
    if (mysqli_errno($link)==0 && $result) { 

     $rows = array(); 

     if ($result!==true) 
     while ($d = mysqli_fetch_assoc($result)) { 
      array_push($rows,$d); 
     } 

     //return json 
     return array('result'=>$rows); 

    } else { 

     //error 
     return array('error'=>'Database error'); 
    } 
} 

//loads up the source image, resizes it and saves with -thumb in the file name 
function thumb($srcFile, $sideInPx) { 

    $image = imagecreatefromjpeg($srcFile); 
    $width = imagesx($image); 
    $height = imagesy($image); 

    $thumb = imagecreatetruecolor($sideInPx, $sideInPx); 

    imagecopyresized($thumb,$image,0,0,0,0,$sideInPx,$sideInPx,$width,$height); 

    imagejpeg($thumb, str_replace(".jpg","-thumb.jpg",$srcFile), 85); 

    imagedestroy($thumb); 
    imagedestroy($image); 
} 

?> 
+0

通過ftp安裝一個phpmyadmin到該服務器並嘗試登錄。如果它也失敗了,你的登錄信息不好。即使你這樣說,我認爲它也不好。 – Cosmin

+0

請以root身份登錄到數據庫,併爲'792981_kputts'@'localhost''和SHOW GRANTS for 792981_kputts'SHOW SHOW GRANTS'的輸出後張貼 –

+0

感謝您的幫助。我做了「演出贈款」,它給了我一個可笑的長密碼:81F5E21E35407D884A6CD4A731AEBFB6AF209E1B。無論如何,這隻會給我一個新的錯誤:警告:mysqli :: mysqli()[function.mysqli-mysqli]:(HY000/2002):無法通過套接字'/ var/run/mysqld/mysqld.sock'(2)在/srv/disk11/1158855/www/(censored)/lib.php在線8 – user1667601

回答

0

你的錯誤信息提示,你是不是從本地主機(127.0.0.1),但建立遠程連接(*用戶「(審查)_zxq」連接@ '192.168.1.1' *)

當建立遠程連接,確保:

  • 所有的防火牆(客戶端和服務器)有3306端口開放
  • ,MySQL的配置爲REM通過將my.cnf中的綁定地址更改爲0.0.0.0
  • 遠程用戶連接具有連接權限。

即使192.168.1.1是來自服務器的IP,它仍然被認爲是遠程連接,並且必須執行步驟2和3(有時也是1)。

+0

感謝您的回覆,但我的端口是3306,防火牆關閉。我因挫折而轉回本地(如果他們都說同一件事,3臺不同的主機就足夠了),並且權限設置得當。我應該補充一點,我在這裏使用MAMP。還有其他建議嗎? – user1667601

+0

當使用'localhost'作爲主機時,你會得到什麼錯誤? – JvdBerg

+0

現在,它是警告:mysqli :: mysqli()[function.mysqli-mysqli]:(HY000/2002):無法通過套接字'/var/run/mysqld/mysqld.sock'連接到本地MySQL服務器( 2)在第8行的/srv/disk11/1158855/www/(censored)/lib.php – user1667601