mysql_query函数仅适用于mysql_num_rows

时间:2017-02-27 19:10:35

标签: php google-visualization google-chartwrapper mysql-num-rows

今天我有一个非常奇怪的问题。我有一段代码,它根据从用户输入传递的GET变量查询表(非常标准)。
但是为了实现这一点,我必须包含一个冗余的 mysql_num_rows 变量....

本作品;

   <?php
   1. $cat = strval($_GET['c']);
   2. $query = "SELECT * FROM stock WHERE Category = '$cat'";
   3. $num_rows = mysql_num_rows(mysql_query($query)); 
   4. $values = mysql_query($query);
   ?>

由于某些原因,没有第3行它不起作用 顺便说一下,这最终用于创建传递给谷歌图表的数组,这一切都很好。 我做错了什么?

所有参考代码;

   <?php
   $cat = strval($_GET['c']);
   $query = "SELECT * FROM stock WHERE Category = '$cat'";
   LINE UNDER QUESTION --> $num_rows = mysql_num_rows(mysql_query($query)); 
   $values = mysql_query($query);
   $material = array();
   $quantity = array();
   $colour = array();
   while ($row = mysql_fetch_array($values)) {
       array_push($material, $row['Material']);
       array_push($quantity, $row['Quantity']);
       array_push($colour, $row['Colour']);
   }
   ...Then all the google chart stuff....
   ?>

1 个答案:

答案 0 :(得分:0)

在select中指定列并使用索引。 并确保验证$ _GET值。 您可能已经完成了此操作,但请尝试查询,例如phpMyAdmin的。 也许这一切都会有所帮助。

SELECT
    material,
    quantity,
    colour 
FROM
    stock
WHERE 
    Category = ...
ORDER BY ..
;