2
我正在使用PHP數據對象來鏈接數據庫。下面的查詢與MySQL正常工作。MySQL SUBSTRING_INDEX與sqlite集成 - PHP PDO
$con = new PDO("mysql:host=localhost; dbname=company; charset=utf8", "root","root");
$data_value = $_GET['value'];
$sql = "SELECT SUBSTRING_INDEX(c_value, ',', 1) as c_index, SUBSTRING_INDEX(c_value, ',', -1) as c_name FROM `default_values` where category = 'Nationality'";
$smt = $con->prepare($sql);
$smt->execute();
$row = $smt->fetchAll(PDO::FETCH_OBJ);
print json_encode($row);
但是,當我連接到sqlite,我不得不改變查詢下面的代碼。
$con = new PDO('sqlite:d:/company.sqlite');
$data_value = $_GET['value'];
$sql = "SELECT substr(c_value,1, pos-1) as c_index, substr(c_value,pos+1) as c_name FROM (SELECT *, instr(c_value,',') as pos FROM default_values) WHERE category = 'Nationality';";
$smt = $con->prepare($sql);
$smt->execute();
$row = $smt->fetchAll(PDO::FETCH_OBJ);
print json_encode($row);
See Working MySQL Fiddle
See Working Sqlite Fiddle
有沒有什麼辦法,我們可以用PHP-PDO做到這一點,不管數據庫連接。我的意思是隻更改數據庫連接,而不更改查詢。
謝謝你,
Supun