Nie można skontaktować się z DB przy użyciu MAMP


0

Pracuję nad niestandardową aplikacją internetową. Mam lokalne środowisko programistyczne korzystające z MAMP. Próbuję skontaktować się z moją bazą danych i to kończy się niepowodzeniem, więc próbowałem uruchomić niestandardowy skrypt testowy bazy danych, który również się nie powiedzie. (Jeśli to coś znaczy, musiałem zmienić port MAMP na 8889). Kiedy używam wordpressa na mampie, nie ma problemów, więc nie jestem pewien, co to powoduje. Każda pomoc jest doceniana, dziękuję.

<?php

# Fill our vars and run on cli
# $ php -f db-connect-test.php

$dbname = 'localhost';
$dbuser = 'admin';
$dbpass = '********';
$dbhost = 'Gotcha-6';

$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to 
Connect to '$dbhost'");
mysql_select_db($dbname) or die("Could not open the db '$dbname'");
$test_query = "SHOW TABLES FROM $dbname";
$result = mysql_query($test_query);
$tblCnt = 0;
while($tbl = mysql_fetch_array($result)) {
  $tblCnt++;
  #echo $tbl[0]."<br />\n";
}
if (!$tblCnt) {
  echo "There are no tables<br />\n";
} else {
  echo "There are $tblCnt tables<br />\n";
}

Przede wszystkim musisz przestać używać MySQL i przejść na PDO. Jeśli serwer bazy danych nasłuchuje teraz na porcie 8889, musisz zmienić parametry połączenia, aby uwzględnić numer portu w nazwie hosta. Podczas korzystania z PDO będzie w opcjach jak port=8889. W powyższym kodzie wygląda na to, że zamieniono wartości $dbnamei $dbhost. Szanse są całkiem dobre, że $dbhostpowinny być localhost.
Dave

Dziękuję, przyjrzę się PDO, które wygląda na bardziej elastyczne. Byłem w stanie rozwiązać problem, ponownie rejestrując moje porty ORAZ tworząc nowego użytkownika z uprawnieniami administratora do bazy danych w phpmyadmin. Żadne z nich nie działało z jakiegoś powodu.
Tyler
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.