这是我用于跟踪图像视图的代码(tracks.php 脚本):
$img_id = $_GET['img_id'];
$db->insert(TRACKS, $img_id);
header('Content-Type: image/jpeg');
//then output img's content
当我使用header()
函数并输出图像的内容时,记录被复制。我不知道为什么?
请帮帮我。太感谢了。
这是我用于跟踪图像视图的代码(tracks.php 脚本):
$img_id = $_GET['img_id'];
$db->insert(TRACKS, $img_id);
header('Content-Type: image/jpeg');
//then output img's content
当我使用header()
函数并输出图像的内容时,记录被复制。我不知道为什么?
请帮帮我。太感谢了。
发生这种情况的原因有很多,如果不运行一些测试并了解有关 $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。否则,请勿插入。