Re: _GET('name') truncates
| From: | tg-php at gryffyndevelopment dot com | Date: | Mon, 05 Feb 2007 20:11:30 +0000 |
| Subject: | Re: _GET('name') truncates | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-248378@lists.php.net to get a copy of this message | ||
I'll let everyone else do the "why the hell are you doing this? security blah blah! bad
practice blah blah!" type stuff.. I'm sure there will be plenty.
One reason this may be happening is, depending on your browser, there's a limit to the number
of characters you can have in a URL.
That seems to be cutting off around 900 characters. That's a lot to put into a URL.
If you're really intent on setting up a PHP powered web page to test SQL statements, I might
recommend using a web form either using input type=text or textarea form elements and a POST method
instead of GET.
If you don't have control over the server but do everything remotely, you might consider seeing
if there's a phpMyAdmin set up with your hosting service that you can use for database
management/queries/etc.
If it's a localish database, you can still use phpMyAdmin, but might also have the option of
setting up an ODBC connection and using a program like WinSQL or Navicat to connect and do queries
and maintenance.
If you have more specific questions about any of this, feel free to ask.
-TG
= = = Original message = = =
Hi all,
I've written a php script, called test.php, consisting of the following
statements:
<?php
error_reporting(E_ALL);
$query = $_GET['sql'];
echo $query;
?>
Using the script with 'small' values for the parameter sql works fine.
Although, using the script with the sql query as specified below
http://localhost/test.php?sql="SELECT
orders_id, customers_id,
customers_name, customers_company, customers_street_address,
customers_suburb, customers_city, customers_postcode, customers_state,
customers_country, customers_telephone, customers_email_address,
customers_address_format_id, delivery_name, delivery_company,
delivery_street_address, delivery_suburb, delivery_city, delivery_postcode,
delivery_state, delivery_country, delivery_address_format_id, billing_name,
billing_company, billing_street_address, billing_suburb, billing_city,
billing_postcode, billing_state, billing_country, billing_address_format_id,
payment_method, cc_type, cc_owner, cc_number, cc_expires, last_modified,
date_purchased, orders_status, orders_date_finished, currency,
currency_value FROM orders where ((date_purchased >= 18991230 and
last_modified is null) or last_modified >= 18991230 ) and orders_status in
(1,2,3) and ((date_purchased <= 20071201203454 and last_modified is null) or
last_modified <= 20071201203454 ) and orders_id = 2 order by
date_purchased"
results in the following:
\"SELECT orders_id, customers_id, customers_name, customers_company,
customers_street_address, customers_suburb, customers_city,
customers_postcode, customers_state, customers_country, customers_telephone,
customers_email_address, customers_address_format_id, delivery_name,
delivery_company, delivery_street_address, delivery_suburb, delivery_city,
delivery_postcode, delivery_state, delivery_country,
delivery_address_format_id, billing_name, billing_company,
billing_street_address, billing_suburb, billing_city, billing_postcode,
billing_state, billing_country, billing_address_format_id, payment_method,
cc_type, cc_owner, cc_number, cc_expires, last_modified, date_purchased,
orders_status, orders_date_finished, currency, currency_value FROM orders
where ((date_purchased >= 18991230 and last_modified is null) or
last_modified >= 18991230 ) and orders_status in (1,2,3) and%2~n~
I do not understand why the value of the sql parameter is truncated. Any
help is appreciated!!
Thanks in advance!
___________________________________________________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.