Folks: Thanks for the comments. I bet the linefeeds caused me the problem, since I just took the contents of a text field, put them in an array, and didn’t pay attention to linefeeds.
Now I remember why I didn’t try to directly connect to the dB. The security issue makes it inadvisable to go direct. It would be nice if there was a cautionary statement about that in the dictionary. Best, Bill > On May 23, 2017, at 6:22 PM, Roger Eller via use-livecode > <use-livecode@lists.runrev.com> wrote: > > I have always replaced the linefeeds with a unique placeholder for > transport, and switched it back to linefeeds in the server script. I > didn't even consider replacing with empty. > > On May 23, 2017 8:55 PM, "Jonathan Lynch via use-livecode" < > use-livecode@lists.runrev.com> wrote: > >> 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 > _______________________________________________ > 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