Форум программистов, компьютерный форум, киберфорум
Наши страницы
ActionScript
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/2: Рейтинг темы: голосов - 2, средняя оценка - 5.00
Mariamarfi
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 41
1

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

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

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

Источник: http://rad-line.blogspot.ru/2009/03/as3-mysql-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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 21:40
Ответы с готовыми решениями:

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

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

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

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

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

4
Mariamarfi
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 41
14.04.2014, 21:42  [ТС] 2
Ошибки - данные из БД не выводятся. AS3 доступ к MySQL средствами PHP


Ошибки - данные из БД не выводятся. AS3 доступ к MySQL средствами PHP
0
Mariamarfi
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 41
14.04.2014, 21:43  [ТС] 3
R2.rar
0
Mariamarfi
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 41
14.04.2014, 21:44  [ТС] 4
Ошибки - данные из БД не выводятся. AS3 доступ к MySQL средствами PHP
0
Theoryofgames
253 / 237 / 50
Регистрация: 20.12.2011
Сообщений: 707
15.04.2014, 10:21 5
Данные ошибки у Вас выдаются, потому что Вы зачем-то закомментировали объявление переменных
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
15.04.2014, 10:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2014, 10:21

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru