Sentencia preparadas en PHP

Tengo en una consulta en SQL, pero no se como hacerla o pasarla en rutina PHP, ya que debo realizar ese reporte.

En MySQL me funciona perfecto, pero como hacer una rutina en PHP para este query:

SET @sql = NULL ;
SELECT GROUP_CONCAT( DISTINCT CONCAT( 'sum(CASE WHEN fecha = ''', fecha, ''' THEN asistencia else '''' END) AS `', fecha, '`' ) )
INTO @sql
FROM asistencia;
iSET @sql = CONCAT( 'SELECT s.dui, nombres,apellidos, codigo,nombre,depto,muni,', @sql , '
        from docentes1 c
        inner join asistencia s
          on c.dui = s.dui 
       INNER JOIN centros e
       ON c.centro = e.codigo
       AND c.sede=11117
       AND s.asistencia=1
       group by s.dui' );
PREPARE stmt FROM @sql;
EXECUTE stmt;

Gracias.

0
задан 17.11.2016, 18:38
2 ответа

Я исхожу из основания, которого ты понимаешь что-то в PHP и не только в MySQL.

Мы будем видеть, априори ты будешь должен использовать связь PDO: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

Так ты сможешь использовать PREPARED: http://prash.me/php-pdo-and-prepared-statements

Я это говорю для того, чтобы ты поддержал то же выполнение, собирания SQL, добавления стоимости, "готовить это" и выполнять это.

Любое сомнение, tell я ^_^

1
ответ дан 24.11.2019, 12:34
  • 1
    Договора @MarcTorres, probaré и compartiré утомленное hast ael момент –  Marlon Orozco 17.11.2016, 22:53
  • 2
    Ничего, любого сомнения по этому поводу, aquí мы ;) –  Marc Torres 18.11.2016, 12:44
  • 3
    Привет Марк, я комментирую тебе, что он продолжил иметь проблемы, чтобы выполнять QUERY, что publiqué. Я реализовал conexió n с PDO –  Marlon Orozco 14.07.2017, 20:18
  • 4
    Ok, я понимаю, что vonexió n ты принес PDO польза, и которую ты протестировал делания простого select в любую таблицу тех, которые у тебя есть, и он возвращает тебе результаты правильно. Чтобы мочь помогать тебе necesitarí, то есть má s данные по этому поводу, что оно ты не функционирует, что ошибка дает тебе? Algú n ссылка, чтобы мочь видеть ошибку? –  Marc Torres 18.07.2017, 12:53

я рекомендую тебе производить эту рутину в storeprocedure.

http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html

потом просто ты посылаешь называть ее с php.

$stmt = $dbh->prepare("CALL mystore(:dato)");
$stmt -> bindParam(':dato',$dato);

// call the stored procedure
$stmt->execute();

надеялся, что он ты помогает.

типов привета

0
ответ дан 24.11.2019, 12:34

Теги

Похожие вопросы