Функция mysql_query работает только с 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 это не работает.
Между прочим, это в конечном итоге используется для создания массива, переданного в Google-диаграмму, что все в порядке.
Что я делаю неправильно?

Весь код для справки;

   <?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....
?>

0

Решение

Укажите столбцы в списке выбора и используйте индекс.
И убедитесь, что значение $ _GET проверено.
Вы, вероятно, уже сделали это, но попробуйте запрос, например, в. PhpMyAdmin.
Может быть, все это поможет.

ВЫБРАТЬ
материал,
количество,
цвет
ОТ
склад
ГДЕ
Категория = ...
СОРТИРОВАТЬ ПО ..
;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]