PHP:如果语句无意中导致多个MySQL列更新?
我在页面上有一个表单,其中包含:
>一个名为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代码的使用会导致多个更新的行.
请帮忙?