为什么我的PHP事务mysql查询总是不行
//关闭自动提交$_mysql->autocommit(false);//sql语句$sql.="SELECTUSERFROMcms_userWHEREUSER='got...
//关闭自动提交
$_mysql->autocommit(false);
//sql语句
$sql .="SELECT USER FROM cms_user WHERE USER='goto8080' LIMIT 1;"; //查询语句,正确在mysql里面正确,但是在这里就执行不到。这是怎么回事呢
$sql .="INSERT INTO cms_match (
`saishi`,
`time`,
`leix`,
`duiz`,
`username`,
`zhudui`,
`kedui`,
`content`,
`reg_date`
)VALUES(
'saishi',
'time',
'leix',
'duiz',
'username',
'zhudui',
'kedui',
'content',
NOW()
)
;";
if($_mysql->multi_query($sql)){
//第一条是否正确
$_success = $_mysql->affected_rows == 1 ? true:false;
//第二条是否正确
$_mysql->next_result();
$_success2 = $_mysql->affected_rows == 1 ? true:false;
if($_success && $_success2){//如果两条都正确
$_mysql->commit();
echo '完美提交';
}else{//不正确
$_mysql->rollback();
echo '回滚';
}
}else{
echo '第一条SQL语句错误'.$_mysql->error;
exit();
}
//最后开启自动提交
$_mysql->autocommit(true);
大神给菜鸟的我解答一下..我执行其他的比如修改,删除都可以完美提交。数据库也连接正常,数据库结构也正确。
php里面也不报错,但是一直是回滚的。 展开
$_mysql->autocommit(false);
//sql语句
$sql .="SELECT USER FROM cms_user WHERE USER='goto8080' LIMIT 1;"; //查询语句,正确在mysql里面正确,但是在这里就执行不到。这是怎么回事呢
$sql .="INSERT INTO cms_match (
`saishi`,
`time`,
`leix`,
`duiz`,
`username`,
`zhudui`,
`kedui`,
`content`,
`reg_date`
)VALUES(
'saishi',
'time',
'leix',
'duiz',
'username',
'zhudui',
'kedui',
'content',
NOW()
)
;";
if($_mysql->multi_query($sql)){
//第一条是否正确
$_success = $_mysql->affected_rows == 1 ? true:false;
//第二条是否正确
$_mysql->next_result();
$_success2 = $_mysql->affected_rows == 1 ? true:false;
if($_success && $_success2){//如果两条都正确
$_mysql->commit();
echo '完美提交';
}else{//不正确
$_mysql->rollback();
echo '回滚';
}
}else{
echo '第一条SQL语句错误'.$_mysql->error;
exit();
}
//最后开启自动提交
$_mysql->autocommit(true);
大神给菜鸟的我解答一下..我执行其他的比如修改,删除都可以完美提交。数据库也连接正常,数据库结构也正确。
php里面也不报错,但是一直是回滚的。 展开
展开全部
首先查询操作是不能使用affected_rows去验证返回多少行的,affected_rows是影响行数,对于查询操作affected_rows永远返回-1.对于affected_rows仅适用于insert,delete,update操作.
所以这里验证查询有多少返回行的时候应使用结果集的num_rows属性
//第一条是否正确
$_success = ($result = $_mysql->store_result() and $result->num_rows == 1) ? true:false;
$result->free();
盖雅工场,全流程劳动力管理系统
2023-07-25 广告
2023-07-25 广告
选择一个好的 PHP 排班系统需要考虑以下几个因素:1. 功能需求:首先需要考虑系统需要具备哪些功能,比如排班管理、员工管理、考勤管理、报表统计等。确保所选系统能够满足您的需求。2. 易用性:考虑系统的界面是否友好,操作是否简单易用。一个好...
点击进入详情页
本回答由盖雅工场,全流程劳动力管理系统提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询