Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 42
AS 3.0

Ошибки - данные из БД не выводятся. AS3 доступ к MySQL средствами PHP

14.04.2014, 21:40. Показов 855. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at record_fla::MainTimeline/frame1()
Я, как новичок, решила попробовать на основе источника проверить доступ к MySQL. На сайте ссылки недоступны на скачивания файлов. Чуток изменила я в программе, т.к. не раз выдавали ошибки после компиляции... дело в dataGrid - item. Почему данные из БД не выводятся... Что не так сделала я?

Источник: http://rad-line.blogspot.ru/20... l-php.html

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import fl.controls.DataGrid;
 
function readRecord():void 
{
    var readRequest:URLRequest = new URLRequest();
    var readLoader:URLLoader = new URLLoader();
    readRequest.url='records.php'+'?command=readRecord&'+Math.random();
    readLoader.addEventListener(Event.COMPLETE, allLoad);
    readLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
    function ioErrorHandler(e:IOErrorEvent):void 
    {
        trace("Ошибка чтения");
    }
 
    var myXML:XML;
 
    function allLoad(e:Event):void 
    {
        var tempLoader:URLLoader=URLLoader(e.target);
 
        myXML=new XML(tempLoader.data);
        if (myXML!="") 
        {
            for each (var item:XML in myXML.record) 
            {
                trace("Имя:"+item.name); trace("Очки:"+item.points);//выводим данные
            } 
        } 
        else 
        {
            trace("Нет данных"); 
        } 
    } 
 
    readLoader.load(readRequest);
} 
 
 
function writeRecord(name:String, points:int):void 
{
    var saveRequest:URLRequest = new URLRequest();
    var saveLoader:URLLoader = new URLLoader();
    saveRequest.url='records.php'+'?command=writeRecord&name='+name+'&points='+points;
    saveLoader.addEventListener(Event.COMPLETE, allSave);
    saveLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
    function ioErrorHandler(e:IOErrorEvent):void 
    {
        trace("Ошибка записи"); 
    }
 
    function allSave(e:Event):void 
    {
        trace("Информация сохранена"); 
    }
 
    saveLoader.load(saveRequest); 
}
 
 
var gridRecord:DataGrid = new DataGrid;
var i: uint;
 
gridRecord.columns=["Место","Имя","Очки"];
 
//Добавление полей
//gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});
 
var item:Object = {Место:i, Имя:item.name, Очки:item.points};
gridRecord.addItem(item);
    //Удаление всех полей
 
    gridRecord.removeAll();
 
addChild(gridRecord);


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php 
header("Content-Type: text/xml"); 
/* 
//////Connect to MySQL////// 
mysql_connect("localhost", "root", "") or die (mysql_error()); //Открывает соединение с сервером MySQL 
mysql_select_db("record_table") or die (mysql_error()); //Выбирает базу данных MySQL 
mysql_query("SET NAMES 'utf8'"); //Посылает запрос MySQL 
*/ 
$command = isset($_GET['command']) ? $_GET['command'] : ""; 
$name = isset($_GET['name']) ? $_GET['name'] : ""; 
$points = isset($_GET['points']) ? $_GET['points'] : ""; 
 
$servername="localhost";// ваш сервер - обычно localhost 
$user="root"; //ваш_пользователь 
$password=""; //ваш_пароль 
$dbname="record_table"; //ваша_база_данных 
$dbserver = mysql_connect($servername, $user, $password); 
mysql_select_db($dbname, $dbserver); 
 
mysql_query("SET NAMES utf8"); 
 
if($command=="readRecord") 
{ 
    $query = "SELECT * FROM record ORDER BY points DESC LIMIT 0, 8"; 
    $result = mysql_query($query); 
    echo '<?xml encoding="utf-8" version="1.0" ?><records>'; 
    while($myrow = mysql_fetch_array($result)) 
    { 
        echo '<record>'; 
            echo '<name>'.$myrow['name'].'</name>'; 
            echo '<points>'.$myrow['points'].'</points>'; 
        echo '</record>';  
    }  
    echo '</records>';  
}  
 
if($command=="writeRecord") 
{ 
    $query="INSERT INTO record (name, points) VALUES ('$name', '$points')"; 
    $result = mysql_query($query); 
} 
 
mysql_close($dbserver); 
 
?>

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<records>
    <record>
        <name>Нина</name>
        <points>1232</content>
    </record>
    <record>
        <name>Инна</name>
        <points>1029</content>
    </record>
    <record>
        <name>Вера</name>
        <points>863</content>
    </record>
</records>
Добавлено через 1 час 3 минуты
В источнике написано вот так:
Вот пример флешки читающий рекорды из базы данных MySQL используя PHP. Здесь для вывода данных я использовал флешовский компоненты DataGrid и Button. Использование компонентов упрощает проектирование, но несколько увеличивает объем флешки, а также не гарантирует правильную совместимую с вашим приложением работу.
Я добавил компонент DataGrid и назвал его gridRecord. Добавление заголовка осуществляется функцией

ActionScript 3
1
gridRecord.columns=["Место","Имя","Очки"];
Добавление полей

ActionScript 3
1
gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});
Удаление всех полей

gridRecord.removeAll();

Я написала изначально эти коды в своей программе, выдаётся ошибка (см в картинке)

Добавлено через 51 секунду
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import fl.controls.DataGrid;
 
function readRecord():void 
{
    var readRequest:URLRequest = new URLRequest();
    var readLoader:URLLoader = new URLLoader();
    readRequest.url='records.php'+'?command=readRecord&'+Math.random();
    readLoader.addEventListener(Event.COMPLETE, allLoad);
    readLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
    function ioErrorHandler(e:IOErrorEvent):void 
    {
        trace("Ошибка чтения");
    }
 
    var myXML:XML;
 
    function allLoad(e:Event):void 
    {
        var tempLoader:URLLoader=URLLoader(e.target);
 
        myXML=new XML(tempLoader.data);
        if (myXML!="") 
        {
            for each (var item:XML in myXML.record) 
            {
                trace("Имя:"+item.name); trace("Очки:"+item.points);//выводим данные
            } 
        } 
        else 
        {
            trace("Нет данных"); 
        } 
    } 
 
    readLoader.load(readRequest);
} 
 
 
function writeRecord(name:String, points:int):void 
{
    var saveRequest:URLRequest = new URLRequest();
    var saveLoader:URLLoader = new URLLoader();
    saveRequest.url='records.php'+'?command=writeRecord&name='+name+'&points='+points;
    saveLoader.addEventListener(Event.COMPLETE, allSave);
    saveLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
    function ioErrorHandler(e:IOErrorEvent):void 
    {
        trace("Ошибка записи"); 
    }
 
    function allSave(e:Event):void 
    {
        trace("Информация сохранена"); 
    }
 
    saveLoader.load(saveRequest); 
}
 
//======= Из источника [url]http://rad-line.blogspot.ru/2009/03/as3-mysql-php.html[/url]
gridRecord.columns=["Место","Имя","Очки"];
 
//Добавление полей
gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});
 
//Удаление всех полей
gridRecord.removeAll();
//======= /Из источника [url]http://rad-line.blogspot.ru/2009/03/as3-mysql-php.html[/url]
 
/* Моё написание 
var gridRecord:DataGrid = new DataGrid;
var i: uint;
 
gridRecord.columns=["Место","Имя","Очки"];
 
//Добавление полей
//gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});
 
var item:Object = {Место:i, Имя:item.name, Очки:item.points};
gridRecord.addItem(item);
    //Удаление всех полей
 
    gridRecord.removeAll();
 
addChild(gridRecord);
Добавлено через 1 минуту
SQL
1
2
3
4
5
CREATE TABLE `record` ( 
`id` INT( 3 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
`name` VARCHAR( 50 ) NOT NULL , 
`points` INT( 6 ) NOT NULL 
) ENGINE = MYISAM ;
У меня три столбца: id, name, points.

Как их отобразить во флэше?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.04.2014, 21:40
Ответы с готовыми решениями:

AS3 доступ к MySQL средствами PHP
Ошибка: Я, как новичок, решила попробовать на основе источника проверить доступ к MySQL. На сайте ссылки недоступны на скачивания...

Создание инвентаря в связке as3+php+mysql
В приложении использую связку as3+php+mysql. По идее клиент должен грузить список предметов (точнее id предметов), которые есть у...

не выводятся данные из таблицы MySQL
пытаюсь создать соединение с БД и вывести необходимые мне поля на экран, но почему-то этого не происходит, проверял все, все логины и...

4
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 42
14.04.2014, 21:42  [ТС]


0
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 42
14.04.2014, 21:43  [ТС]
R2.rar
0
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 42
14.04.2014, 21:44  [ТС]
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
15.04.2014, 10:21
Данные ошибки у Вас выдаются, потому что Вы зачем-то закомментировали объявление переменных
ActionScript 3
1
2
3
4
5
6
7
8
9
10
/* Моё написание 
var gridRecord:DataGrid = new DataGrid;
var i: uint;
 
gridRecord.columns=["Место","Имя","Очки"];
 
//Добавление полей
//gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});
 
var item:Object = {Место:i, Имя:item.name, Очки:item.points};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.04.2014, 10:21
Помогаю со студенческими работами здесь

Не выводятся данные с БД MySQL в таблицу
День добрый, я только зеленый в PHP так что строго не судите. У меня токая проблема, я написал код на обычный вывод инфы с базы в форме...

Не выводятся ошибки php - Белый экран
Открываю файл в браузере test.php с php ошибкой и вижу только белый экран и в лог тоже ничего не пишется. При этом если открыть его в SSH...

При запросе в БД MySQL php скриптом выводятся '?'
Всем доброго времени суток!)) Я измучался. Перепахал этот форум, что только не делал, все равно выводит знаками вопроса &lt;?php if...

Почему не выводятся данные из БД PHP?
Здравствуйте! Почему-то приведённый ниже код ничего не выводит (хотя я проверял, запрос выполняется - поставил or die ()) &lt;?php ...

Не выводятся данные из базы PHP
Очередной критический мой вопрос ) 1 голос «против» избранное Есть такой код &lt;tbody&gt;&lt;?php require...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru