Re: Performance/handling limit on mysqli_real_escape_string() function?
"Jacob Kruger" <[email protected]>
| Newsgroups | gmane.comp.php.windows |
|---|---|
| Message-ID | <C6195F94A9EA4783B4E039EDAE4C84D6@JacobPC> |
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