簡體   English   中英

用PhP執行准備好的語句

[英]Executing prepared statement with PhP

我對PhP還是很陌生,我在這里有這句話:

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'GROUP_CONCAT(CASE WHEN `Date` = ''',
      `Date`,
      ''' THEN hours ELSE NULL END) AS `',
      `Date`, '`'
    )
  ) INTO @sql
FROM Days;

SET @sql = CONCAT('SELECT Name, ', @sql,'
                     FROM Days
                    GROUP BY Name
                  ');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

我試圖用Php執行它,所以我有像這個小提琴一樣的html表:

http://sqlfiddle.com/#!2/37156/8

當我使用這樣的prepare語句時,我從sql所在的函數中返回fetchAll 。這將返回所有數據的數組。

然后,我可以根據需要在HTML頁面中設置其格式:

$data = nameOfYourFunctionThatReturnsFetchAll;

<?php echo '<li>' . $data['nameOfFieldFromDatabase'] . </li> ?>

編輯:

<?php 

function getData(){

sql here
try{
execute sql here
}catch PDOException($e){
$e->getMessage();
}
return fetchAll();
}

然后

$data = getData();

然后在您的HTML中

<?php echo '<li>' . $data['name'] . </li> ?>

您需要知道$ data ['name']中的值是指數據庫中字段的名稱,因此請確保它們匹配

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM