Sql problem

Roger Eller roger.e.eller at sealedair.com
Tue May 23 21:22:07 EDT 2017


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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



More information about the use-livecode mailing list