Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP表单更新MySQL_Php_Mysql_Forms - Fatal编程技术网

从PHP表单更新MySQL

从PHP表单更新MySQL,php,mysql,forms,Php,Mysql,Forms,作为一名MySQL新手,我尝试插入,但我只是阅读了MySQL文档,您只能在空白行中插入。我的UPDATE语句需要修改,但我不确定语法是否正确 $query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`="$office""; Office是表名。scash是要更新的行$total是从post中提取的变量$office是从同一数据库中提取的变量。我只想将scash设置为total,其中officename为$office

作为一名MySQL新手,我尝试插入,但我只是阅读了MySQL文档,您只能在空白行中插入。我的UPDATE语句需要修改,但我不确定语法是否正确

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`="$office"";
Office是表名。scash是要更新的行$total是从post中提取的变量$office是从同一数据库中提取的变量。我只想将scash设置为total,其中officename为$office

解析错误:语法错误,意外的T_变量是我得到的错误

$query3 = "UPDATE `offices` SET `scash`='$total' WHERE `officename`='$office'";
将双引号替换为字符串中的普通引号,因为双引号是字符串分隔符,不能在字符串中使用

正如Marc B所提到的,您的代码可能可用于SQL注入。看看你如何避免这种情况

将双引号替换为字符串中的普通引号,因为双引号是字符串分隔符,不能在字符串中使用


正如Marc B所提到的,您的代码可能可用于SQL注入。看看如何避免这种情况。

你在报价时出错了

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`='$office'";
如果只想更新一行,请始终使用限制1


在更新行之前清理输入,至少使用mysqli\u real\u escape\u string

$query3 = "UPDATE `offices` SET `scash`="$total" WHERE `officename`='$office'";
如果只想更新一行,请始终使用限制1


并在更新行之前清理输入,如果仍要在双引号转义字符串中使用双引号,请至少使用mysqli\u real\u escape\u string

您的查询可以修改如下

$query3 = "UPDATE `offices` SET `scash`=\"$total\" WHERE `officename`=\"$office\"";

如果您仍然想在双引号内使用双引号,请将其转义

您的查询可以修改如下

$query3 = "UPDATE `offices` SET `scash`=\"$total\" WHERE `officename`=\"$office\"";

对于普通的php新手,最好提一下我非常感谢你的努力。我不知道没有你们我会怎么做。最好的方式是学习PDO或MyQLI,这样你们就不会再陷入陷阱了。我在路上学习MyQLII,不幸的是,我现在正处于时间紧迫的境地,所以这是我必须走的路。我可以从下周开始更新我的代码。对于普通的php新手,最好提一提我非常感谢你的努力。我不知道没有你们我会怎么做。最好的方式是学习PDO或MyQLI,这样你们就不会再陷入陷阱了。我在路上学习MyQLII,不幸的是,我现在正处于时间紧迫的境地,所以这是我必须走的路。我可以从下周开始更新我的代码。请在你受伤之前学会如何使用。此查询非常危险。请在伤害自己之前学会如何使用。此查询非常危险。对更新使用限制1是错误的建议。如果你有限额问题,你的WHERE条款应该更具体。是的,这是有害的。首先,它毫无意义,其次,它导致了一种虚假的安全感。随机更新一行是疯狂的。限制1的问题是你不能说出哪一行。MySQL只会随机为您选择一个,这会导致不可预测的行为。此外,如果您使用mysqli,并以某种方式将mysqli\u real\u escape\u字符串包含在代码中,那么您就错了。请为所有数据转义使用占位符。WHERE子句没有限制,更新有限制。这样做通常是错误的。在这里你真的没有立足之地。在更新中使用限制1是个糟糕的建议。如果你有限额问题,你的WHERE条款应该更具体。是的,这是有害的。首先,它毫无意义,其次,它导致了一种虚假的安全感。随机更新一行是疯狂的。限制1的问题是你不能说出哪一行。MySQL只会随机为您选择一个,这会导致不可预测的行为。此外,如果您使用mysqli,并以某种方式将mysqli\u real\u escape\u字符串包含在代码中,那么您就错了。请为所有数据转义使用占位符。WHERE子句没有限制,更新有限制。这样做通常是错误的。你真的没有一条腿站在这里。