怎么执行一次sql将不同记录的字段更新成不同的值呢,上课好像只讲过批量将不同的记录的字段改成相同的值

怎么执行一次sql将不同记录的字段更新成不同的值呢,上课好像只讲过批量将不同的记录的字段改成相同的值

像题中,如果id1和2的money都加10的话,会写,但是一个id的money加10一个id的money减10只执行一次sql就不会弄了

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

您好,mysqli_query执行成功返回true,可以判断mysqli_query的结果。如果想查受影响行。可以如下:

<?php
header('content-type:text/html;charset=utf-8');
//连接数据库
$mysqli= mysqli_connect('localhost','root','123456','test');
// 选择数据库
mysqli_select_db($mysqli, 'test');
// 设置字符集
mysqli_set_charset($mysqli, 'utf8');
//SQL语句
$sql1="UPDATE test SET money=money+10 WHERE id=1";
$sql2="UPDATE test SET money=money-10 WHERE id=2";
//执行SQL语句
$result1=mysqli_query($mysqli, $sql1);
$rows1=mysqli_affected_rows($mysqli);
$result2=mysqli_query($mysqli, $sql2);
$rows2=mysqli_affected_rows($mysqli);
var_dump($rows1);
var_dump($rows2);
if($result1&&$result2){
    echo "更新成功!";
}
// 关闭连接
mysqli_close($mysqli);

每执行完SQL语句查询一下受影响行。祝学习愉快!

好帮手慕查理 2018-12-25 19:00:28

您好,参考如下:

<?php
header('content-type:text/html;charset=utf-8');
//连接数据库
$mysqli= mysqli_connect('localhost','root','','test');
// 选择数据库
mysqli_select_db($mysqli, 'test');
// 设置字符集
mysqli_set_charset($connection, 'utf8');
//SQL语句
$sql1="UPDATE users SET money=money+10 WHERE id=1";
$sql2="UPDATE users SET money=money-10 WHERE id=2";
//执行SQL语句
$result1=mysqli_query($connection, $sql1);
$result2=mysqli_query($connection, $sql1);
if($result1&&$result2){
    echo "更新成功!";
}
// 关闭连接
mysqli_close($connection);
?>

祝学习愉快!

  • 提问者 qq_Jony_pqCHO2 #1
    执行了2次,那受影响的行怎么得到呢,用mysqli_affected_rows只会得到1
    2018-12-25 19:15:13
好帮手慕查理 2018-12-25 18:41:49

您好,是写了两个SQL语句,然后判断两个语句是否都执行成功,当都执行成功之后输出提示信息。祝学习愉快!

  • 提问者 qq_Jony_pqCHO2 #1
    可以贴出代码看下吗
    2018-12-25 18:54:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4928    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师