2014-03-12 101 views
-2

继承人我的代码,当我第一次尝试从我的数据库显示所有数据使用我的查询它出现,但是当我将此添加到我的查询WHERE SECTION ='$ .thissection'“我有PDF错误,我已经设置了POST调用我的网页上的价值就行得连工作,什么是错的我的代码,请我真的需要它,从mysql生成报告,出现错误

include_once('dompdf\dompdf_config.inc.php'); 

    $html = '<!DOCTYPE html> 
    <html> 

    <head> 
    <meta charset="utf-8"> 

    </head> 
    <body> 
     <div id="container"> 
     <caption><h2 style="margin-left: 180px;">St. Therese Lisioux School of Cainta </h2></caption> 
      <table class="zebra"> 







    $thissubject = $_POST['subject']; 
    $thissection = $_POST['section']; 
    $thisgrade_level = $_POST['grade_level']; 

     $sqlQuery = mysql_query("SELECT si.STUDENT_ID, concat(si.LNAME,', ',si.FNAME) as Name, 
        sg.* 
        From student_info si Left join grades sg On si.STUDENT_ID = sg.STUDENT_NO 
        WHERE SECTION = '$.thissection'"); 
     while($row = mysql_fetch_assoc($sqlQuery)) 
     { 

     $student_id = $row['STUDENT_NO']; 
     $Name = $row['Name']; 
     $SUBJECT_NAME = $row['SUBJECT']; 
     $first_Grading = $row['FIRST_GRADING']; 
     $second_Grading = $row['SECOND_GRADING']; 
     $third_Grading = $row['THIRD_GRADING']; 
     $fourth_Grading =$row['FOURTH_GRADING']; 
     $final = $row['FINAL']; 
     $status = $row['STATUS']; 


     $html .= '<tbody> 
     <tr class="warning"> 
      <td>'.$student_id.'</td> 
      <td>'.$Name.'</td> 
      <td>'.$SUBJECT_NAME.'</td> 
      <td>'.$first_Grading.'</td> 
      <td>'.$second_Grading.'</td> 
      <td>'.$third_Grading.'</td> 
      <td>'.$fourth_Grading.'</td> 
      <td>'.$final.'</td> 
      <td>'.$status.'</td> 

     </tr> 
     </tbody>'; 



     } 

    $html .= ' </table> 
     </div> 
    </body> 
    </html> 

    '; 

    $dompdf = new DOMPDF(); 
    $dompdf ->set_paper("a4", "landscape"); 
    $dompdf ->load_html($html); 
    $dompdf ->render(); 
    $dompdf ->stream('Student_report.pdf'); 

    ?>strong text 
+1

严重的PHP语法错误! 'include_once()'中使用斜杠而不是反斜杠,并且在变量中使用PHP代码? – Raptor

+0

请正确格式化您的代码! – plaes

回答

1

你的代码有严重的PHP语法错误。

  1. 您使用单引号的字符串变量,它不会被PHP解析器解析PHP内部代码。
  2. 此外,你没有逃脱的代码。
  3. 使用斜线,而不是反斜线在include_once()
  4. 使用过时mysql_*功能和代码受到SQL注入攻击你没有初始化你的MySQL连接
  5. 停止,因为你直接允许被插入POST值的查询。改为使用MySQLiPDO。对于PDO,这是一个很好的tutorial
  6. 您的HTML缺少<title>
  7. 您的错误处理机制在哪里?你预计各种投入都没有错误?

对于快速修复,更改行:

<table class="zebra"> 

​​

为了结束$html变量。