|
|
|
php connect ms sqlserver อยากทราบว่าผมกรอกผิดรึสลับกันยังไงครับ รบกวนดูช่วยทีครับ |
|
|
|
|
|
|
|
เปลี่ยนเป็นเลข ip ง่ายๆ ดีกว่าครับ
การอ้างอิง ชื่อ server ต้องไปเซทอะไรซักอย่างจำไม่ได้แล้วครับ คงต้องค้นเอง
ผมชอบใช้อะไรที่มันง่ายๆ
และถ้าเป็นไปได้ เปลี่ยนไปใช้ sqlsrv ในการเชื่อมต่อแทน mssql นะครับ
|
|
|
|
|
Date :
2018-01-09 08:48:30 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mssql น่าจะใช้กับ Version ใหม่ๆ ไม่ได้ครับ ให้ไปใช้ sqlsrv แทนครับ
|
|
|
|
|
Date :
2018-01-09 09:18:05 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. ใช้ aphace หรือ iis
2. เช็ค php info ดูก่อนครับ ว่า extension มี mssql หรือ sqlsrv ถ้าไม่มีก็โหลด มาลงแล้วเปิด extension นี้เสีย
3. การ connect ปกติใช้ ip แทนดีกว่าครับ
4. php ควรเปิด/ปิดแท็กให้ถูกต้องนะครับ <?php ?>
5. การ echo ค่าเราควรจะยึดใช้ตัวไหนสักอย่างก็ได้ <?= ค่าที่แสดง; ?> หรือ <?php echo ค่าที่แสดง;?>
|
|
|
|
|
Date :
2018-01-09 10:12:46 |
By :
Pong Thep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง sqlsrv ดูครับ แต่ต้องเปิด extension sqlsrv ก่อนนะครับ
Code (PHP)
<?php
class hk_mssql{
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 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);
}
}
$db=new hk_mssql('ip','user','psw','dbname');
$db->query('select * from tablename where id = ?', array(1));
while($ro = $db->fetch_assoc()){
var_dump($ro);
}
เลือกใช้ function tools ที่ทำไว้ให้เป็นตัวอย่างพอสังเขป
|
|
|
|
|
Date :
2018-01-09 10:50:15 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ TC Admin สำหรับ sqlsrv
ขอบคุณ Pongthep สำหรับ <?php>
ขอบคุณ Chaidhanan สำหรับ การอ้างอิง ชื่อ server
ได้ความรู้เยอะเลยครับ จะน้อมรับไปปรับใช้ครับ
ขอบคุณทุกท่านมากครับ แต่ตอนนี้ก็ยังeror ครับ
|
|
|
|
|
Date :
2018-01-09 13:22:11 |
By :
shiowa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127.0.0.1:8080 สีแดงน่าจะเอาออกนะครับ
เพราะ อันนั้นเขาใช้กับ http ครับ
ปล. ได้ลองเช็ค firewall port 1433 ดูหรือยังครับ ว่าได้เปิดไว้หรือเปล่า
|
ประวัติการแก้ไข 2018-01-09 14:17:22
|
|
|
|
Date :
2018-01-09 14:14:20 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกอย่างไม่ใช้ฟังก์ชั่น mssql นะครับ
เปลี่ยนเป็น sqlsrv ลองแค่นี้ดูก่อนครับ
ลองสร้างไฟล์ testconnect.php
Code (PHP)
<?php
$serverName = "127.0.0.1"; //ip
$connectionInfo = array( "Database"=>"mydatabase", "UID"=>"sa", "PWD"=>"321654");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
|
|
|
|
|
Date :
2018-01-09 15:54:52 |
By :
Pong Thep |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากทราบว่าทำไมถึงไม่ใช้ PDO ของ PHP กันหรือครับ อยากรู้ข้อดีข้อเสีย
|
|
|
|
|
Date :
2018-01-09 16:39:32 |
By :
soghband |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าใช้เครื่องมือตรงกับดาต้าเบส ไม่ต้องเซทอะไรมาก อธิบายง่ายกว่ากัน
ถ้าใช้ pdo ต้องรู้จัก connection string ของแต่ละ database server
สุดท้ายก็อยู่ที่ความถนัดของแต่ละบุุคคล
|
|
|
|
|
Date :
2018-01-10 11:05:47 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ความรู้เพิ่มอีแล้วครับขอบคุณครับ
|
|
|
|
|
Date :
2018-01-11 09:24:11 |
By :
prajitr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|