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代码的使用会导致多个更新的行.
请帮忙?
...全文
相关推荐
MySQL UPDATE 更新
在PHP中,可以使用`mysqli_query()`函数来执行UPDATE语句。例如:```php<?
php+MySQL判断update语句是否执行成功的方法
在PHP和MySQL的结合使用中,执行UPDATE语句是常见的数据操作,比如更新数据库表中的某一列或几列的数据。
mysql 一次更新(update)多条记录的思路
最后,`mysql_query()`函数执行更新操作,完成批量更新。总结来说,MySQL中一次更新多条记录的思路主要包括以下步骤:1. 确定要更新的表和列。2.
mysql批量更新多条记录的同一个字段为不同值的方法
总之,虽然MySQL没有内置的批量更新多个记录的不同字段的直接方法,但通过巧妙使用CASE语句和编程语言动态构建SQL语句,我们可以有效地实现这一目标。这不仅提高了效率,还能避免潜在的并发问题。
php中转义mysql语句的实现代码
下面给出一个PHP代码示例,演示了如何使用`mysql_real_escape_string()`函数对用户输入的数据进行转义:```php<?


其他技术讨论专区
