0

这是我用于跟踪图像视图的代码(tracks.php 脚本):

$img_id = $_GET['img_id'];
$db->insert(TRACKS, $img_id);
header('Content-Type: image/jpeg');
//then output img's content

当我使用header()函数并输出图像的内容时,记录被复制。我不知道为什么?

请帮帮我。太感谢了。

4

1 回答 1

0

发生这种情况的原因有很多,如果不运行一些测试并了解有关 $db 对象的更多信息,我将很难追踪。

→ 一个简单的解决方案是在插入之前检查以确保 $img_id 在数据库中不存在。

使用Zend DB $db 对象首先检查 img_id 应该是这样的:

$select = $db->select();
$select->from( 'table_name', '*' );
$select->where( 'img_id = ?', $img_id );

$rows = $db->fetchAll( $select );

if( count( $rows[0] ) == 0 ) { $db->insert( TRACKS, $img_id ); }

确保首先清理$img_id 以防止sql 注入

→ 然后检查返回的rowCount / mysql_num_rows()。如果返回的数字等于 0,则插入 $img_id。否则,请勿插入。

于 2013-03-08T04:55:53.123 回答