PHP connecting to Microsoft SQL Server
Petr Faltus development
ms-sql-server-client.php
GitHub repository: ms-sql-server-connection-source-codes
git clone https://github.com/petrfaltus/ms-sql-server-connection-source-codes.git
Directories to ms-sql-server-client.php in the repository: php
<?php /* 1) Microsoft ODBC Driver 64bit (msodbcsql64.msi) installed 2) From SQLSRV58 to the PHP directory copied: php_pdo_sqlsrv_74_nts_x64.dll (nts for nts, x64 for x64) 3) In the php.ini added lines: [PHP] extension_dir = "ext" extension=php_pdo_sqlsrv_74_nts_x64.dll [Date] date.timezone = Europe/Prague */ $db_driver = "sqlsrv"; $db_host = "localhost"; $db_port = 1433; $db_name = "testdb"; $db_username = "testuser"; $db_password = "T3stUs3r!"; $db_table = "animals"; $db_update_column = "remark"; $db_update_column_variable = ":updatevar"; $db_column = "id"; $db_column_variable = ":var"; $db_column_value = 1; $db_total_name = "total"; $db_factorial_variable = ":n"; $db_factorial_value = 4; $db_result_name = "result"; $db_add_and_subtract_a_variable = ":a"; $db_add_and_subtract_a_value = 12; $db_add_and_subtract_b_variable = ":b"; $db_add_and_subtract_b_value = 5; $db_add_and_subtract_x_variable = ":x"; $db_add_and_subtract_x_value = -1; $db_add_and_subtract_y_variable = ":y"; $db_add_and_subtract_y_value = -1; $availableDrivers = PDO::getAvailableDrivers(); echo "Available PDO drivers "; print_r($availableDrivers); echo PHP_EOL; if (!in_array($db_driver, $availableDrivers)) { echo "PDO driver ".$db_driver." or it's subdriver is not available or has not been enabled in php.ini".PHP_EOL; exit; } try { // Build the connection string and connect the database $dsn = $db_driver.":Server=".$db_host.",".$db_port.";Database=".$db_name; $conn = new PDO($dsn, $db_username, $db_password); echo "ATTR_CLIENT_VERSION = "; print_r($conn->getAttribute(PDO::ATTR_CLIENT_VERSION)); echo "ATTR_DRIVER_NAME = ".$conn->getAttribute(PDO::ATTR_DRIVER_NAME).PHP_EOL; echo "ATTR_SERVER_INFO = "; print_r($conn->getAttribute(PDO::ATTR_SERVER_INFO)); echo "ATTR_SERVER_VERSION = ".$conn->getAttribute(PDO::ATTR_SERVER_VERSION).PHP_EOL; echo PHP_EOL; // UPDATE statement $new_comment = "PHP ".date("j.n.Y H:i:s"); $stm0query = "update ".$db_table." set ".$db_update_column."=".$db_update_column_variable." where ".$db_column."!=".$db_column_variable; echo $stm0query.PHP_EOL; $stm0 = $conn->prepare($stm0query); $stm0->bindParam($db_update_column_variable, $new_comment, PDO::PARAM_STR); $stm0->bindParam($db_column_variable, $db_column_value, PDO::PARAM_INT); $stm0->execute(); echo "Total updated rows: ".$stm0->rowCount().PHP_EOL; echo PHP_EOL; $stm0 = null; // Full SELECT statement $stm1query = "select * from ".$db_table; echo $stm1query.PHP_EOL; $stm1 = $conn->prepare($stm1query); $stm1->execute(); echo "Total columns: ".$stm1->columnCount().PHP_EOL; echo "Fetch all rows "; $lines1 = $stm1->fetchAll(PDO::FETCH_ASSOC); if ($lines1 == false) print_r($stm1->errorInfo()); else print_r($lines1); echo PHP_EOL; $stm1 = null; // SELECT WHERE statement $stm2query = "select count(*) as ".$db_total_name." from ".$db_table." where ".$db_column."!=".$db_column_variable; echo $stm2query.PHP_EOL; $stm2 = $conn->prepare($stm2query); $stm2->bindParam($db_column_variable, $db_column_value, PDO::PARAM_INT); $stm2->execute(); echo "Total columns: ".$stm2->columnCount().PHP_EOL; echo "Fetch all rows "; $lines2 = $stm2->fetchAll(PDO::FETCH_ASSOC); if ($lines2 == false) print_r($stm2->errorInfo()); else print_r($lines2); echo PHP_EOL; $stm2 = null; // SELECT function statement $stm3query = "select dbo.factorial(".$db_factorial_variable.") as ".$db_result_name; echo $stm3query.PHP_EOL; $stm3 = $conn->prepare($stm3query); $stm3->bindParam($db_factorial_variable, $db_factorial_value, PDO::PARAM_INT); $stm3->execute(); echo "Total columns: ".$stm3->columnCount().PHP_EOL; echo "Fetch all rows "; $lines3 = $stm3->fetchAll(PDO::FETCH_ASSOC); if ($lines3 == false) print_r($stm3->errorInfo()); else print_r($lines3); echo PHP_EOL; $stm3 = null; // EXECUTE procedure statement $stm4query = "execute dbo.add_and_subtract ".$db_add_and_subtract_a_variable.", ".$db_add_and_subtract_b_variable.", ".$db_add_and_subtract_x_variable.", ".$db_add_and_subtract_y_variable; echo $stm4query.PHP_EOL; $stm4 = $conn->prepare($stm4query); $stm4->bindParam($db_add_and_subtract_a_variable, $db_add_and_subtract_a_value, PDO::PARAM_INT); $stm4->bindParam($db_add_and_subtract_b_variable, $db_add_and_subtract_b_value, PDO::PARAM_INT); $stm4->bindParam($db_add_and_subtract_x_variable, $db_add_and_subtract_x_value, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 20); $stm4->bindParam($db_add_and_subtract_y_variable, $db_add_and_subtract_y_value, PDO::PARAM_INT | PDO::PARAM_INPUT_OUTPUT, 20); $stm4->execute(); $stm4error = $stm4->errorInfo(); if ((isset($stm4error[0])) and ($stm4error[0] === "00000")) { echo "X: ".$db_add_and_subtract_x_value.PHP_EOL; echo "Y: ".$db_add_and_subtract_y_value.PHP_EOL; } else print_r($stm4error); $stm4 = null; // Disconnect the database $conn = null; } catch (PDOException $e) { echo $e->getMessage().PHP_EOL; } ?>
Development tools
Developer ASCII table
Characters and HTML entities in the UTF-8 table
Predefined web CSS colors
CSS px to rem converter
🤝 Your IP address is 3.145.85.74
(ec2-3-145-85-74.us-east-2.compute.amazonaws.com
)