FLAMEc隨手記

一陣風飄過~~~

0%

php中mysql和mssql

最近用xampp做了一個簡單的php網頁,

剛好碰到將網頁移動到iis系統上狀況,

於是碰到mysql和mssql使用上差異~

連接到mysql如下~

1
2
3
4
5
6
7
8
9
10
$server_name = 'localhost';
$username = 'flamec';
$password = '123456789';
$db_name = 'test';

$conn = new mysqli($server_name, $username, $password, $db_name);

if ($conn->connect_error) {
die('資料庫連線錯誤:' . $conn->connect_error);
}

連接到mssql如下~

1
2
3
4
5
6
$connectionInfo = array( "Database"=>$db_name, "UID"=>$server_name, "PWD"=>$password );
$conn = sqlsrv_connect( $server_name, $connectionInfo);

if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

語法都差不多,但結果尚有點差異~
mysql的select~~~

1
2
3
4
5
6
7
8
9
$sql = "SELECT * FROM testtable";
$result = $conn->query($sql); //1

if ($result->num_rows > 0) { //2
// 输出数据
while($row = $result->fetch_assoc()) { //3
print_r($row);
}
}

mssql的select~~~

1
2
3
4
5
6
7
8
9
10
$sql = "SELECT * FROM testtable";
$result = sqlsrv_query($conn, $sql); //1

if($result === false) { //2
die(print_r(sqlsrv_errors(), true));
}

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { //3
print_r($row);
}

最主要差異就是上面註解1~3的地方~~~

其他大部分相同~~~

但是有些mysql語法mssql不支援,比如limit…

如果要讓兩邊方便切換可以減少使用,就能快速切換~~~