Last time I made a data driven app with AMFPHP. I used PHP and MySQL. I did all of what your describing within PHP and MySQL.
Everytime I querried the database, I always sent back the same kind of object to Flex. The object always had two properties, a success¹ property and a message¹ property. IF the query succeeded, then my object that I created in PHP would be: success¹ = true; message¹ = query executed successfully. Or if it failed it would be. success¹ = false; message¹ = [enter your custom error message here. I.e. record already exists¹] I suggest making your remote object responses in a format that you repeat, like this: <mx:RemoteObject id="myRemoteObject"> <mx: method name ="insertRecord" result =¹_onInsertRecordResponse(event)"/> <mx:RemoteObject/> private function _onInsertRecordResponse (evt:ResultEvent) : void { if(evt.result.success) // remember I¹m returning an object with a success¹ and a message¹ { Alert.show(event.result.message) // output query execurted seccessfully¹ } Else if (!evt.result.success) { Alert.show(event.result.message) // outputs record already exists¹ // my custom error message I made in PHP } } This way, every result handler, from every remote object is in my app is structured the same way. Alan