Forum Replies Created
-
AuthorPosts
-
RiteshMember
This gets even more interesting.
The Base 64 Encoded version of the query which is sent by SQLyog (as can been seen in the logs) is:
Code:aW5zZXJ0IGludG8gcHJvZHVjdHMgdmFsdWVzKDExLA0KJ1ByYWdtYXRpYyBVbml0IFRlc3RpbmcnLA0K
1xyXG48L3A JywNCicvaW1hZ2VzL3NrX3V0Y19zbWFsbC5qcGcnLA0KJzI5Ljk1JywNCicyMDA0LTA2LTE4IDAwOjAw
jAwJyk=Now if I decode this at: http://makcoder.sourceforge.net/demo/base64.php, it is correctly returning:
Code:insert into products values(11,
'Pragmatic Unit Testing',
'rn',
'/images/sk_utc_small.jpg',
'29.95',
'2004-06-18 00:00:00')but if I decode the same text at: http://www.thewierdturnpro.com/notrails/base64test.php, it is decoded as:
Code:insert into products values(11, 'Pragmatic Unit Testing', 'rnwhich is what happens exactly with SQLyogTunnel.php.
I checked the code at makcoder and it goes something like:
Code:$input = $actionForm->get('input');
$input = stripslashes($input); //strip slashes
$input = Main::check_length($input); //checking allowed length of input
$b64->decode($input);which translates into something like:
Code:base64_decode(htmlentities($user_input))In your sample code, you are doing something like:
Code:htmlentities(base64_decode($user_input))which is wrong because the decode function will correctly decode the data and since the data has HTML entities e.g. it messes it up.
So if you change your code to:
Code:base64_decode(htmlentities($user_input)), it should work.
I will now take a look into SQLyogTunnel.php implementation to check the order of function execution.
RiteshMemberpeterlaursen wrote on Feb 14 2006, 04:04 PM:@ritesh:who says PHP is wrong?
I am not saying that PHP is wrong. What I am trying to convey is that between base64_decode(…) and actual query execution, the query seems to be changing. As you see the same query works for your system and for me too but it is not working on LazyTesters machine.
RiteshMemberThanks for the report. Addition of those special characters is indeed a bug. Will be fixed in v5.1.
I am not sure about the commenting idea.
RiteshMemberNow the base64 data that is sent by SQLyog is:
Code:aW5zZXJ0IGludG8gcHJvZHVjdHMgdmFsdWVzKDExLA0KJ1ByYWdtYXRpYyBVbml0IFRlc3RpbmcnLA0K
1xyXG48L3A JywNCicvaW1hZ2VzL3NrX3V0Y19zbWFsbC5qcGcnLA0KJzI5Ljk1JywNCicyMDA0LTA2LTE4IDAwOjAw
jAwJyk=Which turns up:
Code:insert into products values(11,
'Pragmatic Unit Testing',
'rn',
'/images/sk_utc_small.jpg',
'29.95',
'2004-06-18 00:00:00')at:
http://makcoder.sourceforge.net/demo/base64.php
But if you see the text: Query executed: in the log, the decoded query is incorrect with invalid characters so there is a problem with base64_decode(..) function in PHP.
Can you write a simple PHP script to decode the base64 encoded query and see if its the same as the query or it gets messed up?
RiteshMemberThis is very strange. It works on my 3.23.58 as well as 4.1.7 server. Both using HTTP Tunneling. I am now 100% sure that your PHP processor/server is doing something in between.
I am attaching a new SQLyogTunnel.php which will throw out more debug info (please make sure that the directory has write permission otherwise the logging will fail). It will write down the XML that it gets from SQLyog and also the individual query that it executes.
In the XML input log, there will be a tag
which is actually the query we are going to execute. It will be encoded in Base64 as the query has characters which PHP doesn't like. You can decode it using this tool at: http://makcoder.sourceforge.net/demo/base64.php. Check if the query is same as what you have executed? If you are not sure of how to do all the above, just zip and mail me the yogtunnel.log file and I will take a look into it.
RiteshMemberHmmm. There seems to be no entry in our faq for this problem.
RiteshMemberlazylester wrote on Feb 12 2006, 11:21 PM:Thanks, Ritesh, I'll send you an email with access information[post=”8722″]<{POST_SNAPBACK}>[/post]Received. We will work on it soon.
RiteshMemberQUOTE(mkdev @ Feb 11 2006, 12:56 AM)I have a question about running stored procedures in SQLyog. Is there a way to run one that has parameters passed into it?[snapback]8712[/snapback]You will need to execute a query like:
CODEcall sp1(param1,param2)in the query editor.
A GUI interface to do it will be implemented in one of the future version of SQLyog.
RiteshMemberIs it possible to give temporary access to that server? I would like to work upon it.
RiteshMemberRobert wrote on Feb 9 2006, 03:13 PM:BTW: Fast answers, good job! Thank you.[post=”8705″]<{POST_SNAPBACK}>[/post]Thanks 😀
Quote:stops after 15 tables.This one still amazes me. Under no circumstances SJA should just hang. I will ask my engineers to test this on the same environment as yours.
RiteshMemberYou can always use SQLyog 😛
If you are looking for MS based programming language to manipulate data from your code then you will require the ODBC driver for MySQL i.e. MyODBC. Good links at:
RiteshMemberBoth the mail module share the same code. We dont support CRAM-MD5 authentication as of now.
RiteshMemberThis is a known issue. We don't support display of complex language in SQLyog as of now. We plan to make the application completely UNICODE/multi-lingual in v5.2.
RiteshMemberQuote:First step: Sync between tow databases from web to home using http-tunnel;stops after 15 tables.Can you explain this problem a little more? What do you mean by *stops after 15 tables*?
What happens if you sync that table individually?
Quote:error: NULL definition mismatch for 'ID' column in '`Links`' tableCan you post the CREATE TABLE statement of the table for both source and target?
RiteshMemberI believe you are using Notification Services.
We dont support CRAM-MD5 authentication as of now.
-
AuthorPosts