Проблема в том, что так называемые массивы являются строками!
global $field1;
global $field2;
var_dump($feild1,$feild2); //Will tell you that there strings
Прочитайте ошибку правильно!
[] оператор не поддерживается для строк
И единственное место, где вы используете []
, - это значения $feild
- X
GLOBAL должен работать, потому что ошибка говорит вам отип данных, т.е. строка, поэтому они должны быть импортированы в область.
Другое дело, почему вы выбираете все столбцы, когда используете только 2 из них, измените свой запрос на:
$sql = mysql_query("SELECT feild1,feild2 FROM table WHERE field_name = '$input'");
Другое дело, что использование mysql_fetch_array
witch возвращает целочисленный индексированный массив, где, как вы хотите mysql_fetch_assoc
, чтобы получить ключи.
while($row = mysql_fetch_assoc($sql)) :
$field1[] = $row['field1'];
$field2[] = $row['field2'];
endwhile;
Что ябудет делать
function SomeFunction($variable,&$array_a,&$array_b)
{
$sql = mysql_query("SELECT field1,field2 FROM table WHERE field_name = '$variable'");
while($row = mysql_fetch_assoc($sql))
{
$array_a[] = $row['field1'];
$array_b[] = $row['field2'];
}
mysql_free_result($sql);
}
Тогда используйте так.
$a = array();
$b = array();
SomeFunction('Hello World',&$a,&$b);