Я немного поиграл в PHP. Это, как я подключиться к SQL серверу, и она работает:Не удается подключиться к локальному серверу с помощью PDO?
$serverName = "SNAME";
$connectionInfo = array("Database"=>"DBNAME", "UID"=>"USERNAME", "PWD"=>"PASSWORD");
$conn = sqlsrv_connect($serverName, $connectionInfo);
$sql = "SELECT X FROM myTable";
$query = sqlsrv_query($conn,$sql);
if ($query === false){
echo "Could not link to SQL Server";
}
while ($row = sqlsrv_fetch_array($query))
{
$ARRAY[] = "$row[X]";
}
Сервер SNAME находится в локальной сети, и я могу подключиться к нему с компьютера с помощью SQL Management Studio.
Теперь, смотря онлайн и другие места, я понял, что PDO - лучший способ пойти. Поэтому я пытался подключиться к моему серверу с помощью PDO, следуя примерам в Интернете. Вот код:
$username = "USERNAME";
$password = "PASSWORD";
try{
$conn = new PDO('mysql: host=SNAME;port=1433;dbname=DBNAME',$username,$password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = $conn->query('SELECT X FROM myTable');
foreach($data as $row) {
print_r($row);
}
}
catch{
echo 'ERROR: ' . $e->getMessage();
}
Когда я запускаю это я получаю это на моей странице:
ERROR: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
Теперь я знаю, что моя другая информация является правильным, так как я могу использовать верхний блок и управления SQL Studio. Есть ли какая-нибудь библиотека или что-то особенное. Есть ли проблема с моим кодом?
UPDATE Я побежал это в моем SQL Management Studio, чтобы проверить мой порт, и он дал мне 1433
SELECT DISTINCT local_tcp_port FROM sys.dm_exec_connections WHERE local_tcp_port IS NOT NULL
'sqlsrv_connect' не используется для подключения к серверам MySQL. Он используется для подключения к Microsoft SQL Server. В вашей строке подключения PDO вы используете '' mysql: ''. Вы должны убедиться, что установлен драйвер ['PDO_SQLSRV'] (http://php.net/manual/en/ref.pdo-sqlsrv.php) и сообщить PDO подключиться к' 'sqlsrv: '' db а не '' mysql: ''. См .: http://php.net/manual/en/ref.pdo-sqlsrv.connection.php –