|
|
|
ช่วยหน่อยครับต้องการใช้ sqlsrv แทน mysqli เพื่อทำงานร่วมกับ MS sqlserver 2014 |
|
|
|
|
|
|
|
เปลี่ยนไปใช้ sqlsrv หรือ pdo แทนครับ
|
|
|
|
|
Date :
2018-08-14 12:06:27 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
class DBController {
private $host = "localhost";
private $user = "root";
private $password = "";
private $database = "chilepu";
private $conn;
function __construct() {
$this->conn = $this->connectDB();
}
function connectDB() {
$conn = sqlsrv_connect($this->host,$this->user,$this->password,$this->database);
return $conn;
}
function runQuery($query) {
$result = sqlsrv_query($this->conn,$query);
while($row=sqlsrv_fetch_assoc($result)) {
$resultset[] = $row;
}
if(!empty($resultset))
return $resultset;
}
function numRows($query) {
$result = sqlsrv_query($this->conn,$query);
$rowcount = sqlsrv_num_rows($result);
return $rowcount;
}
}
?>
ผมพยายามลองเปลี่ยนเป็น sqlsrv แล้วนะครับแต่ ไม่รู้รูปแบบการใช้ของมันอะครับ
|
|
|
|
|
Date :
2018-08-14 16:11:01 |
By :
pcthm06 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
class ms_sql{
private $conn;
private $stmt;
public function __construct($ip, $db, $user, $psw){
$conInfo = array(
"Database"=>$db, "UID"=>$user, "PWD"=>$psw, "MultipleActiveResultSets"=>true, "CharacterSet" => "UTF-8"
);
$this->conn = sqlsrv_connect( $ip, $connectionInfo);
if( !$this>conn ) die( print_r( sqlsrv_errors(), true));
}
//////////////////////////////////////////////////////////
public function lastInsertId(){
if(isset($queryID)){
sqlsrv_next_result($this->stmt);
sqlsrv_fetch($this->stmt);
return sqlsrv_get_field($this->stmt, 0);
}else{
return false;
}
}
///////////////////////////////////////////////////////////
public function query($sql, $param){
$this->stmt = sqlsrv_query( $this->conn, $sql, $param, array( "Scrollable" => SQLSRV_CURSOR_KEYSET));
}
public function fetch_row(){
return sqlsrv_fetch_array($this->stmt,SQLSRV_FETCH_NUMERIC);
}
public function fetch_assoc(){
return sqlsrv_fetch_array($this->stmt,SQLSRV_FETCH_ASSOC);
}
public function num_rows(){
return sqlsrv_num_rows( $this->stmt );
}
}
$db=new ms_sql('ip','user','psw','dbname');
$db->query('select * from tablename where id = ?', array(1));
while($ro = $db->fetch_assoc()){
var_dump($ro);
}
|
ประวัติการแก้ไข 2018-08-14 17:16:42 2018-08-14 17:17:42
|
|
|
|
Date :
2018-08-14 17:09:53 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือโค๊ดของคุณมันผิดการอ้างอิงฟังก์ชั่น กับ sqlsrv
ก็เลยไปเอาคลาสที่ผมเคยเขียนไว้ เอามาให้ลองดู
ลองอ่านดูก่อนครับ ตัวอย่างการใช้งานก็อยู่ด้านล่าง
แก้ตรงนี้นิด เพื่อไม่จำเป็นต้องใช้ parameter
Code (PHP)
public function query($sql, $param){
// เป็น
public function query($sql, $param=[]){
|
|
|
|
|
Date :
2018-08-14 17:54:15 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลง driver sqlsrv หรือยังครับ
php เวอชั่นไหน server เป็น iis หรือ apache
|
|
|
|
|
Date :
2018-08-15 08:48:49 |
By :
Pong Thep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|