如何将一行从一个表复制到另一个表

时间:2011-12-25 21:03:38

标签: php cakephp

如何从一个表中复制一行:'tipuranibasti'(一列是图像的blob类型)到另一个表:'puranibasti'。使用我的代码将所有字段复制到puranibasti,除了blob字段[图像字段]。

blob字段在数据库中的puranibasti表中看起来像[BLOB - 0B]。

<?php
include ("connect.php");
$id=@addslashes($_GET['id']);
$image=@mysql_query("select * from tipuranibasti where id = $id");
$image_row=@mysql_fetch_assoc($image);

$name=@$image_row['name'];
$date=@$image_row['date']; 
$msg=@$image_row['msg'];
$image=addslashes(@file_get_contents($image_row['image']));


if(@mysql_query("insert into puranibasti values('','$name','$date','$msg','$image')"))
{
echo "image has been inserted successfully";
} else
{
echo "problem inserting the image";
}
?>

1 个答案:

答案 0 :(得分:2)

你试过的代码是什么?我会说

UPDATE A INNER JOIN B ON A.some_id=B.some_id SET B.blobfield = A.blobfield

更新:查看您的代码,这当然是一种不同的情况,因为您已经拥有变量中的内容。你可以把它留下来,然后做我上面提到的更新。或者,尝试不使用addslashes。此外,您可能希望尝试使用正确的数据库变量而不是连接字符串。由于blob字段的内容是二进制的,我可以想象当你把它们放入字符串时会发生丑陋的事情。