|
Posted by Jerry Stuckle on 09/30/67 11:26
Jerry Stuckle wrote:
> sime wrote:
>
>> Hi,
>>
>> I have a blob field in a mysql database table. I want to copy a blob
>> from one record to another. I am having trouble transferring the data
>> via a php variable. Maybe I need to addslashes or convert to Hex or
>> something. I've tried a few things but can't quite get it. Here is
>> simplified code.
>>
>> mysql_select_db($dbname, $connection);
>>
>> $query = "SELECT blobthing
>> FROM mytable
>> WHERE id = 1;";
>>
>> $results = mysql_query ($query, $connection);
>> $row = (mysql_fetch_assoc($result));
>> $varblobthing = $row['blobthing']; //put the blob in a variable
>>
>> $query = "UPDATE mytable
>> SET blobthing = ".$varblobthing.",
>> WHERE id = 2;";
>>
>> mysql_query ($query, $connection);
>>
>>
>> I would love any advice I can get. Thanks in advance.
>> Simon
>>
>
> Sime,
>
> Three problems here. First of all, since $varblobthing is non-numeric,
> you need to enclose it with "'" characters. Also, a blob can, by
> definition, contain any character - including "special" ones like "'".
> You need to use mysql_escape_string (or mysql_real_escape_string,
> depending on your version of PHP and MySQL) to escape it.
>
> Finally, get rid of the trailing ';' after the 2. You don't need a ';'
> at the end of the SQL statement.
>
> Try something like:
>
> $query = "UPDATE mytable SET blobthing = '" .
> mysql_escape_string($varblobthing) .
> "' WHERE id=2";
>
P.S. You should check the result of each mysql operation per the manual.
In this case I suspect the mysql_query is returning false and
checking the error with mysql_error() would give you information on why
it didn't work.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|