You are here: Re: mcrypt blob upload problem to MySQL « PHP Programming Language « IT news, forums, messages
Re: mcrypt blob upload problem to MySQL

Posted by Sophisticado on 08/31/06 00:18

Andy Hassall <andy@andyh.co.uk> wrote in
news:4lnbf2hc4akvqm2955c6rb1mlsu1kbp1s4@4ax.com:

> On Wed, 30 Aug 2006 11:21:47 -0500, Sophisticado <Sophsiticado> wrote:
>
>>I have a script in which I am collecting sensitive information via a
>>form (METHOD=POST) and encrypting the posted variable (format = BLOB)
>>using mcrypt, then saving it in a MySql table. Using my test
>>script,everything works fine. Using my production scrypt, everything
>>works fine for data posted with fewer than 8 characters. If I try to
>>upload data longer than 8 characters, I get this error message:
>>
>>You have an error in your SQL syntax; check the manual that
>>corresponds to your MySQL server version for the right syntax to use
>>near 'iσUΉ
?¨C!ΚΌB', '01', '2004', NULL, '150')' at line 1
>>
>>The characters iσUΉ?¨C!ΚΌB' after "near" are the encrypted characters.
>>
>>There does not seem to be any difference between the test and
>>production scrypts.
>>
>>Here is the syntax I am using for saving the record:
>>
>>if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] ==
>>"myTable")) {
>> $insertSQL = sprintf("INSERT INTO myTable (`Date`, LastName,
>>FirstName, EcryptedBlob) VALUES (%s, %s, %s, %s)",
>> GetSQLValueString($_POST['Date'], "text"),
>> GetSQLValueString($_POST['Lastname'], "text"),
>> GetSQLValueString($_POST['Firstname'], "text"),
>> GetSQLValueString($encrypted,"text"));
>>
>>php v. 5.0.5
>>MySql v. 4.1.9
>
> Where is "GetSQLValueString" defined?
>



Here is the function before the encryption at the top of the script:

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",
$theNotDefinedValue = "") {
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) :
$theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" :
"NULL"; break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue :
$theNotDefinedValue; break;
}
return $theValue;
}

 

Navigation:

[Reply to this message]


УдалСнная Ρ€Π°Π±ΠΎΡ‚Π° для программистов  •  Как Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Google AdSense  •  England, UK  •  ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Π‘Π°ΠΉΡ‚ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Π² Π‘Ρ‚ΡƒΠ΄ΠΈΠΈ Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½Π° ΠŸΠ΅Ρ‚Ρ€ΡƒΡ‡Π΅ΠΊΠ°
ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Π±-сайтов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, поисковая оптимизация