Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > php connect แบบ pdo พอจะเปลี่ยน DB มีข้อจำกัดในเรื่อง Syntax ครับ



 

php connect แบบ pdo พอจะเปลี่ยน DB มีข้อจำกัดในเรื่อง Syntax ครับ

 



Topic : 102552



โพสกระทู้ ( 26 )
บทความ ( 0 )



สถานะออฟไลน์




ไม่รู้ว่าผมคิดไปเองหรือป่าวครับ
เคยเข้าใจว่า การเขียน Connect แบบ PDO จะสามารถให้เราเปลี่ยน ฐานข้อมูลจากอีกตัวเป็นอีกตัวได้
วันนี้กลับมาร้องให้ เพราะ syntax SQL เขียนผิดวิธี

Mssql
Code (PHP)
$dsn = 'mssql:host=NB_PMS;dbname=cmt';


try {
    $db= new PDO($dsn, 'sa', '1234');
} catch (PDOException $e) {
    echo 'Error : ' . $e->getMessage();
}



Mysql
Code (PHP)
try {
	$db = new PDO('mysql:host=localhost;dbname=cmt;charset=tis-620','root','1234');    
	$db->query("SET NAMES tis-620");
	echo "Ok";
}catch(PDOException $e) {
    echo $e->getMessage();
	exit();
}



ไม่แน่ใจว่าใครเจอปัญหาเดียวกันหรือป่าวครับ เรื่องการ Select ข้อมูลออกมาแสดงโดยการจำกัด record ด้วย limit ของ mysql กับ mssql
mysql
select * from customer limit 0,100;
mssql
select top(100) * from customer

ตอนแรกเขียนติดต่อกับ mysql พอจะเปลี่ยนมาเป็น mssql Code รันไม่ได้ครับ
หากมีวิธีแก้ รบกวนด้วยนะครับ แต่ถ้าหากไม่มีก็ขอให้เป็น กรณีศึกษาครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-11-11 15:15:58 By : poomin View : 2744 Reply : 3
 

 

No. 1

Guest


มันก็ไม่ต่างกันมากนักหรอก

แต่ยังไงก็ต้องเปลี่ยนต้อง native command อยู่ดี เช่น limit (mysql) กับ top (sql server)

แต่ถ้าเป็น standard command ก็ไม่ต้องเปลี่ยน

Code (PHP)
// Microsoft Sql Server Express
define('SQLSRV_HOST', 'localhost\sqlexpress');
define('SQLSRV_NAME', 'northwind');
define('SQLSRV_USER', '');
define('SQLSRV_PASSWORD', '');

// MySql Server
define('MYSQL_HOST', 'localhost');
define('MYSQL_NAME', 'northwind');
define('MYSQL_USER', 'root');
define('MYSQL_PASSWORD', 'mysql56');


mysql
<?php
$dns = "mysql:host=" . MYSQL_HOST . ";dbname=" . MYSQL_NAME . ";";
$dbh = new PDO($dns, MYSQL_USER, MYSQL_PASSWORD);

$query = 'SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, Address, City, Country FROM Employees;';
$stmt = $dbh->prepare($query);
$stmt->execute();

while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo '<tr>';
    echo "<td><img src=\"images/imageicon.png\" 
        onmouseover=\"javascript:showtrail('imagedb.php?db=mysql&amp;id={$result['EmployeeID']}');\" 
        onmouseout=\"javascript:hidetrail();\" style=\"border-width:0px;\" /></td>";
    echo "<td>{$result['TitleOfCourtesy']} {$result['LastName']} {$result['FirstName']}</td>";
    echo "<td>{$result['Title']}</td>";
    echo "<td>" . (new DateTime($result['BirthDate']))->format('d M Y') . "</td>";
    echo "<td>{$result['Address']}</td>";
    echo "<td>{$result['City']}</td>";
    echo "<td>{$result['Country']}</td>";
    echo "</tr>\n"; 
}
?>


sql server
<?php
$dns = "sqlsrv:Server=". SQLSRV_HOST .";Database=" . SQLSRV_NAME . ";";
$dbh = new PDO($dns, SQLSRV_USER, SQLSRV_PASSWORD);

$query = 'SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, Address, City, Country FROM Employees;';
$stmt = $dbh->prepare($query);
$stmt->execute();

while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo '<tr>';
    echo "<td><img src=\"images/imageicon.png\" 
        onmouseover=\"javascript:showtrail('imagedb.php?db=sqlsrv&amp;id={$result['EmployeeID']}');\" 
        onmouseout=\"javascript:hidetrail();\" style=\"border-width:0px;\" /></td>";
    echo "<td>{$result['TitleOfCourtesy']} {$result['LastName']} {$result['FirstName']}</td>";
    echo "<td>{$result['Title']}</td>";
    echo "<td>" . (new DateTime($result['BirthDate']))->format('d M Y') . "</td>";
    echo "<td>{$result['Address']}</td>";
    echo "<td>{$result['City']}</td>";
    echo "<td>{$result['Country']}</td>";
    echo "</tr>\n"; 
}
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-11 15:31:06 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 2



โพสกระทู้ ( 26 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-11 16:23:24 By : poomin
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ตัวอย่างการเขียน SQL Server กับ PHP ผ่าน PDO

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & Windows Azure (SQL Azure)</title>
</head>
<body>
<?

   $serverName = "tcp:bc6hela9fr.database.windows.net,1433";
   $userName = 'thaicreate-user@bc6hela9fr';
   $userPassword = 'password@123';
   $dbName = "thaicreate-db";

   $conn = new PDO("sqlsrv:server=$serverName ; Database = $dbName", $userName, $userPassword);

   $strSQL = "SELECT * FROM customer";

	$stmt = $conn->prepare($strSQL);
	$stmt->execute();

?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="59"> <div align="center">Budget </div></th>
    <th width="71"> <div align="center">Used </div></th>
  </tr>
<?
$arrValues = $stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($arrValues as $result){
?>
  <tr>
    <td><div align="center"><?=$result["CustomerID"];?></div></td>
    <td><?=$result["Name"];?></td>
    <td><?=$result["Email"];?></td>
    <td><div align="center"><?=$result["CountryCode"];?></div></td>
    <td align="right"><?=$result["Budget"];?></td>
    <td align="right"><?=$result["Used"];?></td>
  </tr>
<?
}
?>
</table>
<?
	$conn = null;
?>
</body>
</html>


การใช้งาน SQL Azure ร่วมกับ PHP (SQL Server) (Odbc/sqlsrv/PDO)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-11-12 21:16:27 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php connect แบบ pdo พอจะเปลี่ยน DB มีข้อจำกัดในเรื่อง Syntax ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่