SQL заявки в MySQL с помощта на phpseclib

Опитвам се да се свържа с MySQL база данни на отдалечен сървър и мога успешно да се свържа със сървъра и да вляза в MySQL базата данни. Но сега трябва да изпълня няколко SQL заявки в таблиците на базата данни, но се сблъсквам с грешката: ГРЕШКА 1045 (28000): Достъпът е отказан за потребител 'root'@'localhost' (с парола: ДА).

Не съм сигурен дали SQL заявките са с правилен синтаксис? Също така трябва ли да се свързвам със сървъра всеки път, когато трябва да изпълнявам SQL заявки? Моля, предоставете ми някои данни. Благодаря.

 /* SUCCESS */
 $ssh = new Net_SSH2('XX.XXX.XX.XXX');
     if (!$ssh->login('root', 'password')) {
     exit('Login Failed');
  }

 echo $ssh->exec('pwd');

  /* SUCCESS */
  if (!$ssh->exec('mysql -h localhost -u root -pDataBaseName \r\n')){
        exit('Login to MySQL Failed');
  }else{
        echo "Login to MySQL Success";
  }

 /* ERROR - facing error in this code*/
  echo $ssh->exec('mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all"');

person Goutam    schedule 24.07.2015    source източник
comment
-pDataBaseName не означава, че DataBaseName е базата данни, към която mysql се свързва - това означава, че използвате DataBaseName като парола. Ако това е вашето намерение, това е добре, но изглежда, че това може да е грешка и от ваша страна..   -  person neubert    schedule 29.07.2015


Отговори (1)


Вашият израз SELECT не посочва базата данни, която да се използва.

mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all"

Можете да поправите това или като посочите базата данни в заявката:

SELECT * FROM yourdatabase.cmu_util_all

или чрез указване на базата данни по подразбиране, която да се използва за връзката:

mysql -h localhost -u root -pDataBaseName -e "SELECT * FROM cmu_util_all" yourdatabase
person vhu    schedule 24.07.2015
comment
Все още се сблъсквам с грешката: ГРЕШКА 1045 (28000): Достъпът е отказан за потребител 'root'@'localhost' (с парола: ДА) - person Goutam; 24.07.2015