One quick note about base64encode: LC adds linefeeds. After you base64encode, you may need to replace linefeed with empty in the variable.
Sent from my iPhone > On May 23, 2017, at 8:10 PM, William Prothero via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Andre, > This is good advice. I did it this way as a shortcut for an app I’ve built > for myself only. You are right that it makes debugging harder because I can’t > use other management applications to examine the contents. > > For many years now I’ve used php cgi’s to connect to the remote mysql db and > it works well. I just haven’t spent the time to set up JSON. > > But it looks like I could dispense with the php and directly access the mySQL > db from my mobile app, without a cgi? > > Best, > Bill > >> On May 23, 2017, at 3:30 PM, Andre Garzia via use-livecode >> <use-livecode@lists.runrev.com> wrote: >> >> William, >> >> If I may add a bit of personal opinion here... so, I have been using and >> storing LC stuff in databases for a long time. Not only I have been storing >> arrays in database but I had them flying over TCP sockets and being >> decoded/encoded as needed. For a long time I used the same approach as you, >> which is to arrayEncode + base64 the array. >> >> I don't do that any longer. That combination is very hard to debug. I would >> advise you simply to use JSON and store it as JSON on the db. Instead of >> encoding the array twice, you do it only once with jsonexport() and then >> when importing, you do it only once with jsonimport() >> >> Not only that reduces complexity but it also makes it a lot easier to >> debug. As a bonus, your data can be consumed by other applications which >> are not based on LC which may open a whole ecosystem of plugins and >> interoperation to your product. >> >> Cheers >> andre >> >> >> On Sun, May 21, 2017 at 9:45 PM, William Prothero via use-livecode < >> use-livecode@lists.runrev.com> wrote: >> >>> Never mind. I got it working. I’m not exactly sure about the problem >>> because the method I used should have been quite general. However, what >>> made it work is that I had the contents of a list field in the array I was >>> storing and that somehow caused an error when I tried to decode the array. >>> I deleted that array key, because there was no reason I needed to have it >>> in the db anyway, and it worked. >>> >>> I’ll look into why and report back if I find anything interesting. >>> Best, >>> Bill >>> >>>> On May 21, 2017, at 5:23 PM, William Prothero via use-livecode < >>> use-livecode@lists.runrev.com> wrote: >>>> >>>> Whoops, I lied. >>>> The data is stored incorrectly in the simulator too. >>>> Hmm…. >>>> The IDE stores it correctly. There is something in the encoding that I’m >>> missing. >>>> Bill >>>> >>>>> On May 21, 2017, at 5:03 PM, William Prothero via use-livecode < >>> use-livecode@lists.runrev.com> wrote: >>>>> >>>>> Folks: >>>>> I have an app that stores data to a mysql database on my server. It >>> works fine in the IDE and in the iPhone simulator. However, when I load the >>> app onto the iPhone, the saved data is corrupted. >>>>> >>>>> I am saving an array. The array is saved in a big string that has been >>> base64 encoded. >>>>> >>>>> When saving, I do: >>>>> >>>>> put arrayEncode(tArray) into tData >>>>> >>>>> put base64encode(tData) into xData >>>>> >>>>> put urlEncode(xData) into xData >>>>> >>>>> xData is sent to the db >>>>> >>>>> When I read back the data, I do the inverse: >>>>> >>>>> urlDecode >>>>> base64Decode >>>>> arrayDecode >>>>> >>>>> The base64 data on the db is different when I store it from the iPhone. >>> I can see this with Navicat, which I use for db management. So, the problem >>> is in the storing of the data. >>>>> >>>>> What the heck? I am just using a post command to a php script that >>> writes to the db. >>>>> >>>>> Why would the iPhone data that is sent be different from that sent in >>> the simulator? >>>>> >>>>> Mac OSX 10.12.4, Livecode 8.1.4 (rc2) and XCode 8.3. >>>>> >>>>> Any suggestions would be welcome. >>>>> Thanks, >>>>> Bill P. >>>>> >>>>> William A. Prothero >>>>> http://earthlearningsolution.org/ >>>>> >>>>> _______________________________________________ >>>>> use-livecode mailing list >>>>> use-livecode@lists.runrev.com >>>>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>>> >>>> >>>> _______________________________________________ >>>> use-livecode mailing list >>>> use-livecode@lists.runrev.com >>>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >>> >>> _______________________________________________ >>> use-livecode mailing list >>> use-livecode@lists.runrev.com >>> Please visit this url to subscribe, unsubscribe and manage your >>> subscription preferences: >>> http://lists.runrev.com/mailman/listinfo/use-livecode >>> >> >> >> >> -- >> http://www.andregarzia.com -- All We Do Is Code. >> http://fon.nu -- minimalist url shortening service. >> _______________________________________________ >> use-livecode mailing list >> use-livecode@lists.runrev.com >> Please visit this url to subscribe, unsubscribe and manage your subscription >> preferences: >> http://lists.runrev.com/mailman/listinfo/use-livecode > > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode