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

AS3 доступ к MySQL средствами PHP

04.04.2014, 19:47. Показов 2167. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка:
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>
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 ;

P/S/ У меня три столбца: id, name, points. Как их отобразить во флэше?
Миниатюры
AS3 доступ к MySQL средствами PHP  
Вложения
Тип файла: rar Record.rar (539.2 Кб, 15 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2014, 19:47
Ответы с готовыми решениями:

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

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

Связь AS3 с БД MySQL (получение и отправка данных)
Как можно из AS3 отправить в MySQL БД данные и получить оттуда же?

2
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 42
04.04.2014, 19:48  [ТС]
В источнике написано вот так:
Вот пример флешки читающий рекорды из базы данных MySQL используя PHP. Здесь для вывода данных я использовал флешовский компоненты DataGrid и Button. Использование компонентов упрощает проектирование, но несколько увеличивает объем флешки, а также не гарантирует правильную совместимую с вашим приложением работу.
Я добавил компонент DataGrid и назвал его gridRecord. Добавление заголовка осуществляется функцией

gridRecord.columns=["Место","Имя","Очки"];

Добавление полей

gridRecord.addItem({Место:i, Имя:item.name, Очки:item.points});

Удаление всех полей

gridRecord.removeAll();

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

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);
Миниатюры
AS3 доступ к MySQL средствами PHP   AS3 доступ к MySQL средствами PHP  
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
04.04.2014, 21:47
Цитата Сообщение от Mariamarfi Посмотреть сообщение
Не удается вызвать свойство или метод со ссылкой на объект "null".
FAQ
Цитата Сообщение от Mariamarfi Посмотреть сообщение
выдаётся ошибка (см в картинке)
Вам говорят, что нет тех объектов, к которым пытаетесь обратиться (i, item).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2014, 21:47
Помогаю со студенческими работами здесь

Обновление данных php + as3.0
Добрый день! я сделал as3 + php + mysql и обновление происходит через фрейм, вот только думаю правильно ли я сделал и вообще так можно...

Доступ к Exchange Server средствами PHP
Где можно подчерпнуть инфу по поводу доступа k Exchange Server средством PHP? Нужна посредством вебапликации установить доступ к Exchange...

Удаленный доступ к консоли Linux средствами php
Какой есть безопасный метод получения удаленного доступа к консоли сервера линукс средствами php? Через сайт на сервере будут постоянно...

Связь в таблицах mysql средствами PHP
Приветствую, уважаемые программисты. Я начал работать с базами данных и с mysql в частности совсем недавно, поэтому пока не разобрался со...

Как подключиться к Mysql в С# средствами php
Всем добрый вечер! Программирую уже давно, но с Mysql не сталкивался. Знаю php на базовом уровне но базами пользоваться умею. Вопрос...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru