2014-12-04 38 views
0

工作,爲什麼下面的代碼不工作Mysql的行號功能不能與PDO PHP

$db = new PDO(...); //init the PDO 

$query = $db->query(" 
      Set @ids := 0; 
      SELECT username, @ids := @ids + 1 as id FROM user 
      "); 

$query->execute(); 

如果我沒有使用mysql行數函數的IT工作找到。那麼這是否意味着我不能使用MySQL的MySQL行號功能?

+0

您正在使用多個查詢。請參閱http://stackoverflow.com/questions/6346674/pdo-support-for-multiple-queries-pdo-mysql-pdo-mysqlnd – Clarkey 2014-12-04 08:32:15

+0

我可以修復它的可能性嗎? @Clarkey – user3651999 2014-12-04 08:34:33

回答

1

PDO不允許在單個調用中進行多個查詢。您可以通過多次撥打$db->query()來實現:首先執行SET查詢,然後執行SELECT

然而,不是多條語句,你可以用一個JOIN做這一切在一個單一的查詢:

SELECT username, @ids := @ids + 1 AS id 
FROM user 
JOIN (SELECT @ids := 0) AS var 
+0

謝謝你!!!!!這是我想要的。MYSQL讓我很困惑 – user3651999 2014-12-04 08:44:04