dpc57092 2011-08-15 23:31
浏览 52
已采纳

如何在我的查询中使用DATE FORMAT?

this works on phpmyadmin , but gives me and error when I am using on the code, the error says ,Parse error: syntax error, unexpected '%'....

whats wrong with my sintax>?

    <?php

$database =& JFactory::getDBO(); 

//Declare Variables
$user = JFactory::getUser();
$id = $user->get('id');
$name = $user->get('name');

// Display quizzes
echo "</br>";
echo "Quizzes History for : " ;
echo "<b>";
echo $name;
echo "</b>";


echo "</br>";
echo "</br>";

$database->setQuery(" SELECT distinct qui.title AS name,   

( SELECT GROUP_CONCAT(profiles.title)

  FROM jos_jquarks_users_profiles AS users_profiles    
  LEFT JOIN jos_jquarks_profiles AS profiles ON users_profiles.profile_id = profiles.id     
  WHERE users_profiles.user_id = sessionWho.user_id ) AS profile,    
   ( SELECT sum(score) 
 FROM jos_jquarks_quizzes_answersessions     

  WHERE quizsession_id = quizSession.id              AND status <> -1 ) AS score, 

( SELECT count(distinct question_id)              FROM jos_jquarks_quizzes_answersessions            
  WHERE quizsession_id = quizSession.id ) AS maxScore,            
DATE_FORMAT(quizSession.finished_on,'%M %d, %Y') 
 FROM jos_jquarks_quizsession AS quizSession  

LEFT JOIN jos_jquarks_users_quizzes AS users_quizzes ON users_quizzes.id = quizSession.affected_id    
LEFT JOIN jos_jquarks_quizzes AS qui ON users_quizzes.quiz_id = qui.id     
LEFT JOIN jos_jquarks_quizzes_answersessions AS quizSessAns ON quizSessAns.quizsession_id = quizSession.id 
LEFT JOIN jos_jquarks_sessionwho AS sessionWho ON sessionWho.session_id = quizSession.id        
LEFT JOIN jos_jquarks_users_profiles AS users_profiles ON users_profiles.user_id = sessionWho.user_id 
LEFT JOIN jos_jquarks_profiles AS profiles ON profiles.id = users_profiles.profile_id   
WHERE sessionWho.user_id =  ' .$id  " ) ;


if (!$database->query()) { //write data and if error occurs alert
    echo "<script> alert('".$database->getErrorMsg()."'); </script>";
}

//var_dump($database);
$tableStyle = "padding: 5px;border:1px"; 
$tdStyle = "padding:5px "; 
$thStyle = "padding:7px ";

echo '<table style="' . $tableStyle . '" cellpadding="7" cellspacing="7">'; 
echo "<tr> <th style=align:center>Quiz Title </th><th style=align:center> Score </th><th>Maximum Score </th><th> Unanswered </th> <th>Finished On </th></tr>"; 

$row = $database->loadRowList();
foreach($row as $valuearray)
{
echo '<tr style=" align="center">';
foreach($valuearray as $field)
{

echo "<td>$field</td>";
}
echo "</tr>";
}
echo "</table>";

?>
  • 写回答

2条回答 默认 最新

  • douwei1174 2011-08-15 23:35
    关注

    You have to escape the ' mark. So instead of

        DATE_FORMAT(quizSession.finished_on,'%M %d, %Y')
    

    try

        DATE_FORMAT(quizSession.finished_on,\'%M %d, %Y\')
    

    Or you can just use double quotes " to start and end the string.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入