PHP:如果语句无意中导致多个MySQL列更新?

weixin_38082570 2019-09-12 01:46:35
我在页面上有一个表单,其中包含: >一个名为teachername的文本输入框>一个名为day的文本输入框(格式为YYYY-MM-DD)>一个名为“resource”的选择框,其中包含[Library 1或Library 2]选项>一个名为block的值为[1,2,3和4]的选择框. 我的mysql数据库有以下字段:– 老师 > Library1block1> Library1block2> Library1block3>等 来自html页面的数据被传递到一个php页面,该页面旨在将资源和块与正确的mysql字段匹配,并更新该字段,以便将来自文本输入框“teachername”的数据插入其中. if ($_POST['resource']="Library 1" and $_POST['block']="1") {mysql_query( "UPDATE Resources SET Teacher='yes', Library1block1='$_POST[teachername]' WHERE Date='$_POST[day]'");} if ($_POST['resource']="Library 1" and $_POST['block']="2") {mysql_query( "UPDATE Resources SET Teacher='yes', Library1block2='$_POST[teachername]' WHERE Date='$_POST[day]'");} 预期: – 在“hrhername”文本输入字段中输入“Mr. Smith”,在选择菜单中选择“Library 1”和“1”,并在名为day的文本输入字段中输入“2012-03-16” >数据存储并传递给php脚本> if语句更新包含“资源”匹配的字段的数据库记录字段和“块”字段(library1b1,library1b2等),用于在日期文本字段中输入的日期>更新字段,然后检查后续if语句以将输入的数据与正确的mysql字段匹配 结果:根据第一个if语句更新所有字段(不仅仅是指定的字段). EX:输入“史密斯先生”为Teachername,选择“库1”,为块选择“1”,输入日期的“2012-03-16”不仅更新Library1block1字段,但它也更新Library1block2和library2block1字段. mysql语句,当直接输入到mysql终端时,会正确更新单数字段,但是这个php代码的使用会导致多个更新的行. 请帮忙?
...全文
38 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38091938 2019-09-12
  • 打赏
  • 举报
回复
您在使用赋值运算符(=)而不是相等运算符(==)时犯了一个常见错误.在如下所示的行上: if($_POST['resource']="Library 1") 更改它们以使用比较运算符: if($_POST['resource'] == "Library 1")

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧