Re: Performance/handling limit on mysqli_real_escape_string() function?

"Jacob Kruger" <[email protected]>
Newsgroups gmane.comp.php.windows
Message-ID <18913BD66D1C46FCA4D9FF370573CDBB@JacobPC>
And, again, however, for whatever reason, although it's reading full length 
of image file into variable, for whatever reason, it's only saving like 64Kb 
of data to server - no errors being generated, etc., so assume there's some 
or other automatic limit can't find cause/mention of/for, etc.

Stay well

Jacob Kruger
Blind Biker
Skype: BlindZA
'...fate had broken his body, but not his spirit...'

----- Original Message ----- 
From: "Jacob Kruger" <[email protected]>
To: <[email protected]>
Sent: Tuesday, August 13, 2013 7:03 PM
Subject: Re: [PHP-WIN] Performance/handling limit on 
mysqli_real_escape_string() function?


> Ok, and think now figured out cause of issue with binding etc. - local 
> mySQL server was set to max_packet_length = 1M
>
> And, that's 1Mb, so set it to match production server value of 999M, and 
> then, the following code works - seems like you should assign value to 
> parameter variable after binding it to statement:
>
> $stmnt = $mysqliObj->prepare("update tbl_mysqli_test set b_test = ? where 
> id = 1;");
> $stmnt->bind_param("b", $b);
> $b = NULL;
> $stmnt->send_long_data(0, $fB);
> $stmnt->execute();
>
> Did then also use mysqli_statement to retireve value and output it to 
> browser, to test, and it seemed to work, since could open saved/outputted 
> file in paint thereafter, and double check it's dimensions, etc.:
>
> $mysqliObj = new mysqli("localhost", "root", "", "mysql");
> $stmnt = $mysqliObj->prepare("select b_test from tbl_mysqli_test;");
> $stmnt->execute();
> $stmnt->bind_result($bOut);
> $stmnt->fetch();
> header("Content-Type: image/png");
> header("Content-Disposition: attachment; filename=\"test.png\"");
> echo $bOut;
> $stmnt->close();
> $mysqliObj->close();
>
> Jacob Kruger
> Blind Biker
> Skype: BlindZA
> '...fate had broken his body, but not his spirit...'
>
> ----- Original Message ----- 
> From: "Jacob Kruger" <[email protected]>
> To: <[email protected]>
> Sent: Tuesday, August 13, 2013 5:49 PM
> Subject: Re: [PHP-WIN] Performance/handling limit on 
> mysqli_real_escape_string() function?
>
>
>> Also, BTW, if I leave out the blob/binary data field, and use all of that 
>> test code, apart from the send_long_data() call, it works fine with 
>> integer and varchar fields.
>>
>> Stay well
>>
>> Jacob Kruger
>> Blind Biker
>> Skype: BlindZA
>> '...fate had broken his body, but not his spirit...'
>>
>> ----- Original Message ----- 
>> From: "Jacob Kruger" <[email protected]>
>> To: <[email protected]>
>> Cc: "Pierre Joye" <[email protected]>
>> Sent: Tuesday, August 13, 2013 5:45 PM
>> Subject: Re: [PHP-WIN] Performance/handling limit on 
>> mysqli_real_escape_string() function?
>>
>>
>>> And, here's the current test code:
>>>
>>> //start code
>>> $f = fopen("./candles.png", "rb");
>>> $fB = fread($f, filesize("./candles.png"));
>>> fclose($f);
>>> $b = NULL;
>>> $stmnt = $mysqliObj->prepare("update tbl_mysqli_test set b_test = ? 
>>> where id = 1;");
>>> $stmnt->bind_param("b", $b);
>>> $stmnt->send_long_data(0, $fB);
>>> $stmnt->execute();
>>> var_dump($stmnt);
>>> //end code
>>>
>>> And, the results of the error it outputs, and the results of the 
>>> var_dump function are the following:
>>>
>>> Warning: Error while sending STMT_EXECUTE packet. PID=3372 in 
>>> C:\xampp\htdocs\mysqli\bind.php on line 21
>>> object(mysqli_stmt)#2 (9) { ["affected_rows"]=> int(-1) ["insert_id"]=> 
>>> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> 
>>> int(0) ["errno"]=> int(2006) ["error"]=> string(26) "MySQL server has 
>>> gone away" ["sqlstate"]=> string(5) "HY000" ["id"]=> int(1)
>>>
>>> Jacob Kruger
>>> Blind Biker
>>> Skype: BlindZA
>>> '...fate had broken his body, but not his spirit...'
>>>
>>> ----- Original Message ----- 
>>> From: "Jacob Kruger" <[email protected]>
>>> To: <[email protected]>
>>> Cc: "Pierre Joye" <[email protected]>
>>> Sent: Tuesday, August 13, 2013 9:28 AM
>>> Subject: Re: [PHP-WIN] Performance/handling limit on 
>>> mysqli_real_escape_string() function?
>>>
>>>
>>>> Thanks - looks pretty much exactly what I want to try achieve, so will 
>>>> try modd'ing my code/script and see if works...<smile>
>>>>
>>>> Also nice to maybe use the actual parameter binding for a change 
>>>> instead of just building up sql statement strings using sprintf() 
>>>> etc. - know better practice anyway.
>>>>
>>>> Stay well
>>>>
>>>> Jacob Kruger
>>>> Blind Biker
>>>> Skype: BlindZA
>>>> '...fate had broken his body, but not his spirit...'
>>>>
>>>> ----- Original Message ----- 
>>>> From: "Pierre Joye" <[email protected]>
>>>> To: "Jacob Kruger" <[email protected]>
>>>> Cc: "php-windows" <[email protected]>
>>>> Sent: Tuesday, August 13, 2013 9:08 AM
>>>> Subject: Re: [PHP-WIN] Performance/handling limit on 
>>>> mysqli_real_escape_string() function?
>>>>
>>>>
>>>> hi!
>>>>
>>>> On Mon, Aug 12, 2013 at 11:24 PM, Jacob Kruger <[email protected]> 
>>>> wrote:
>>>>> What with trying to store image data in mySQL database, I am saving 
>>>>> the results of fread() function carried out using the file handle 
>>>>> returned from fopen(), with the "rb" argument to tell it the file is 
>>>>> for binary reading.
>>>>>
>>>>> Either way, for example, this specific image file is a 2.1Mb PNG file, 
>>>>> and mySQL server on my local, windows development machine seems to 
>>>>> lock up roundabout when I tell it to carry out the 
>>>>> mysqli_real_escape_string() function on the value of the variable that 
>>>>> now contains the data read from the physically uploaded file, and just 
>>>>> wondering if this could be something like a process overload, etc., 
>>>>> and whether should just try taking out the string real escaping for 
>>>>> now, or whether that's likely to cause problems, or should I try 
>>>>> something like splitting the file's data into more manageable size 
>>>>> chunks, carry out the string escaping on those chunks one at a time, 
>>>>> with even a possible form of pause inbetween, and then re-append them 
>>>>> together before writing them to the database, or should I maybe just 
>>>>> implement at least a form of file size limit, which might be an issue 
>>>>> if the user will insist on certain image sizes, resolutions, etc. 
>>>>> etc.?
>>>>>
>>>>> Thoughts/suggestions?
>>>>
>>>> Not really windows specific, php-database could fit better for this
>>>> question but here is what you should do:
>>>>
>>>> https://blogs.oracle.com/oswald/entry/php_s_mysqli_extension_storing
>>>>
>>>> Cheers,
>>>> -- 
>>>> Pierre
>>>>
>>>> @pierrejoye | http://www.libgd.org
>>>>
>>>>
>>>> -- 
>>>> PHP Windows Mailing List (http://www.php.net/)
>>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>>
>>>>
>>>
>>>
>>> -- 
>>> PHP Windows Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>
>>
>> -- 
>> PHP Windows Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
>
> -- 
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
> 


-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.