像下面的语句
model层
$formDBObj->updateForm($formname, $dbname, $result['dbname'], $ftid, $fid);
echo '更新';
db层
public function updateForm($formname, $dbname, $olddbname, $ftid, $fid) {
$strSql = 'UPDATE ' . TABLE_PRE . 'form ' .
'SET formname =\'' . $formname . '\', dbname=\'' . $dbname . '\', ftid=' . $ftid .
' WHERE fid =' . $fid;
$strSqls = 'ALTER TABLE ' . TABLE_PRE . 'form_' . $olddbname . ' RENAME TO ' . TABLE_PRE . 'form_' . $dbname;
$this->_db->_execute($strSql);
$this->_db->_execute($strSqls);
}
需要在第一条语句执行成功后在执行第二条sql,正常情况下,sql是顺序执行,非正常情况下(服务器断开连接),如果两条sql有一条执行错误,都会导致以后数据处理有误,那么是否有必要返回值判断sql是否执行成功呢(加上之后系统处理明显变慢)?
表类型为myisam不支持事务处理,如何做最好呢?
有必要根据返回值来判断语句是否成功执行。如果不判断,当出现有一条执行错误时,也会导致后边的数据处理有误,到时候处理问题会更加麻烦。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。