php pfm 改端口,使用php更新到数据库

前体:

>您已将连接脚本包含两次.

>您正在包含隐藏的表单字段< input type =“hidden”name =“rowHomeID”value =“”>两次.这是低效的.

>您的表单应具有enctype =’multipart / form-data’. Read Here

没有看到你的MySQL错误我们无法绝对诊断你的问题,所以相反我会给你我知道需要修复的部分:

默认情况下,PHP字符串类型将保留空字符串”而不是NULL值,因此我认为您的问题不是错误地插入空值(至少,不是您的问题中描述的).

$homeEditRow是唯一需要的值.因为UPDATE表SET列=值WHERE列=将导致错误(或至少,没有更新).

因此替换:

if(

!empty($_POST["homeTitleChange"])&&

!empty($_POST["homeSubtitleChange"]) &&

!empty($_POST["rowHomeID"])

)

有:

if(!empty($_POST["rowHomeID"]){

//run MySQL Update query.

}

此外,如果该值是一个整数,您可以简单地执行此操作:

$homeEditRow = (int)$_POST['rowHomeID']; //force to int.

if($homeEditRow > 0 ){

//run MySQL Update query.

}

如果您愿意,您的其他两个值可以为空,那很好.

但是这些值不能包含的是MySQL中未转义的特殊字符,通常(但绝不是唯一的)`,’, – ,#字符.

因此,最好从用户输入中清除不安全的字符.

从未相信用户输入是“安全的”

$homeTitleUpdate = mysqli_real_escape_string($conn,$_POST["homeTitleChange"]);

$homeSubtitleUpdate = mysqli_real_escape_string($conn,$_POST["homeSubtitleChange"]);

//assuming to be integer required

$homeEditRow = (int)$_POST["rowHomeID"];

这意味着任何单引号或其他不安全字符都不会干扰您的查询执行.使用Prepared语句比这种方法更安全,并且是推荐的做这些方法的方法,你可以使用PDO or MySQLi,这些系统的Stack Overflow上有许多很好的例子.

如果达到这一点并且您仍然遇到问题,那么您需要阅读MySQL错误输出对您说的内容:

//after your query regardless of outcome:

var_dump(mysqli_error($conn));

您可能遇到一些问题,例如您有一个主索引列,其中包含两个非唯一值(等等).但是在您输出MySQL错误之前我们不会确定.

最后,要小心你的IF语句检查是否执行了更新查询,因为如果没有任何更改,则没有更新更新,MySQL将不会运行查询,因此当事实上一切正常运行时可能会返回false.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值