Показать сообщение отдельно
Старый 04.04.2014, 00:15
mariamarfi вне форума Посмотреть профиль Отправить личное сообщение для mariamarfi Найти все сообщения от mariamarfi
  № 1  
Ответить с цитированием
mariamarfi

Регистрация: Mar 2012
Сообщений: 61
По умолчанию Ошибки - данные из БД не выводятся. AS3 доступ к MySQL средствами PHP

Ошибка:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at record_fla::MainTimeline/frame1()

Я, как новичок, решила попробовать на основе источника проверить доступ к MySQL. На сайте ссылки недоступны на скачивания файлов. Чуток изменила я в программе, т.к. не раз выдавали ошибки после компиляции... дело в dataGrid - item. Почему данные из БД не выводятся... Что не так сделала я?

Источник: http://rad-line.blogspot.ru/2009/03/as3-mysql-php.html

Код AS3:
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 код:
<?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 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.png
Просмотров: 109
Размер:	108.9 Кб
ID:	30696  
Вложения
Тип файла: rar Record.rar (539.2 Кб, 7 просмотров)