我有一个网站,用户可以在其中上传房地产属性的图像。
表结构:使用Zend_DB_Table增量值原始SQL
image_id
property_id
userid
filename
thumbfilename
display_order
timestamp
场景: 当用户上传多张图片时,他/她应该能够从他们上传的图片设置主照片的指定属性。
代码:
$sql = 'UPDATE property_images SET display_order = display_order + 1 WHERE property_id = "' . $this->_request->getParam('propertyid') . '"';
$images->getAdapter()->fetchAll($sql);
$images->update(array("display_order" => 1), 'image_id = "' . $this->_request->getParam('imageid') . '"');
问题: 我收到 “常规错误” 调用$图像 - 当> getAdapter() - >使用fetchall();然而,SQL成功执行,但Zend_DB_Table抛出一个异常,不会继续执行下一个命令。任何想法/建议,将不胜感激。
我不容易受到SQL注入攻击,因为这是在用户获取信息之前使用从脚本中获取的值完成的。除了属性ID和图像ID之外,他们无法传递任何内容。我做了一个检查来验证用户是否属于该属性和图像的所有者。谢谢anywa。 – 2009-09-13 18:35:40
够公平的。如果外部逻辑发生变化,我仍然会明确地转义。代码有被重用的倾向,并且您依靠授权代码失败,以确保不良参数永远不会将其传递到数据库。 – timdev 2009-09-13 19:15:36