Graph 如何使用jsapi显示图形

Graph 如何使用jsapi显示图形,graph,Graph,我使用php,我想创建图形(线图)。这是我的代码: <html> <?php mysql_connect("localhost","root",""); mysql_select_db("sperformance"); $query = mysql_query("SELECT * FROM stud_details WHERE email='nazirah.mnazir@gmail.com';"); $result = mysql_query($query) or di

我使用php,我想创建图形(线图)。这是我的代码:

  <html>
<?php

mysql_connect("localhost","root","");
mysql_select_db("sperformance"); 
$query = mysql_query("SELECT * FROM stud_details WHERE email='nazirah.mnazir@gmail.com';");
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 
while($row = mysql_fetch_row($result)) {
?>

 <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
    ['x',           'CGPA'     ],
    ['Semester 1',  <?php echo $row[1] ?>     ],
    ['Semester 2',  <?php echo $row[2] ?>     ],
    ['Semester 3',  <?php echo $row[3] ?>     ],
    ['Semester 4',  <?php echo $row[4] ?>     ],
    ['Semester 5',  <?php echo $row[5] ?>     ],
    ['Semester 6',  <?php echo $row[6] ?>     ],
    ['Semester 7',  <?php echo $row[7] ?>     ],
    ['Semester 8',  <?php echo $row[8] ?>     ],
    ['Semester 9',  <?php echo $row[9] ?>     ],
    ['Semester 10', <?php echo $row[10] ?>    ],
    ['Semester 11', <?php echo $row[11] ?>    ],
    ['Semester 12', <?php echo $row[12] ?>    ],

  ]);
        var options = {
          title: 'Student Performance'
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="width: 1300px; height: 500px;"></div>
  </body>
  <?php
  }
  ?>
</html>

当我运行时,它在第7行显示错误,
警告:mysql_query()要求参数1为字符串。有人能帮我吗?谢谢。

嗯。。。为什么要两次调用同一个函数mysql\u query? 尝试替换以下行:

$query="SELECT * FROM stud_details WHERE email='nazirah.mnazir@gmail.com'";
$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 
我宁愿使用预先准备好的语句(使用MySQLi或PDO),或者至少在使用它们之前对值进行真正的转义,比如:

$email='nazirah.mnazir@gmail.com';// or whatever so this one can have different values.
$query = sprintf("SELECT * FROM stud_details WHERE email='%s'",mysql_real_escape_string($email));
$result = mysql_query($query);

希望对您有用。

当我更换编码时,没有错误,但图形没有显示。你能告诉我为什么图形没有显示吗?谢谢。在您的代码中:
$query=mysql\u query(“选择…”)
已经查询数据库,因此$query包含一个资源(resultset),在下一行中,您尝试再次查询数据库:
$result=mysql\u query($query)
但是mysql\u query希望第一个参数是字符串(查询字符串不是资源也不是结果集)。由于您发送的是一个resultset,而不是字符串,因此调用会抱怨您收到的警告,并且由于您试图从$result获取结果(由于调用失败,此时为null),因此没有数据可获取。希望这能澄清;)