Php 连接';真正的"逃逸"字符串';在添加到数据库之前添加文本
我想在$\u POST['mp']之后添加单词“Megapixels”,以便在“mp”文本框中输入12时,将1200万像素保存到数据库中 在PHP中,我将传递的“mp”值存储在变量“$mp”中:Php 连接';真正的"逃逸"字符串';在添加到数据库之前添加文本,php,mysql,mysqli,Php,Mysql,Mysqli,我想在$\u POST['mp']之后添加单词“Megapixels”,以便在“mp”文本框中输入12时,将1200万像素保存到数据库中 在PHP中,我将传递的“mp”值存储在变量“$mp”中: $mp = $cameras->real_escape_string($_POST['mp']); 我试过以下方法 $mp = $cameras->real_escape_string($_POST['mp'] . "Megapixels"); $mp = $cameras->rea
$mp = $cameras->real_escape_string($_POST['mp']);
我试过以下方法
$mp = $cameras->real_escape_string($_POST['mp'] . "Megapixels");
$mp = $cameras->real_escape_string($_POST['mp']) . "Megapixels";
我相信这将是非常容易做到的,我只是错过了一些东西
谢谢你的帮助
代码更新:
<?php
if (isset($add)) {
/* GET FROM POST */
$brand = $cameras->real_escape_string($_POST['brand']);
$category = $cameras->real_escape_string($_POST['category']);
$model = $cameras->real_escape_string($_POST['model']);
$mp = $cameras->real_escape_string($_POST['mp']);
/* QUERY */
if (mysqli_query($cameras, "INSERT INTO models(
/* ROW NAME */
brand, category, model, mp
) VALUES(
/* VARIABLE NAME */
'$brand', '$category', '$model', '$mp'
)")) {
header("Location: http://admin.specced.co.uk?suc=3");
}
}
?>
在处理$\u POST
数组之前,请尝试更改$\u POST['mp']的值
$_POST['mp'].='Megapixels';
$mp = $cameras->real_escape_string( $_POST['mp'] );
什么不起作用?什么是照相机?陈述连接?为什么不使用预先准备好的语句,那么您就不必考虑转义字符串。再说一次,您显示的代码中有什么不起作用?表中的列是否有百万像素?列类型是什么?它是一种字符串类型吗?当然有一种方法不需要预先准备好的语句,但是你可以接受SQL注入。“这是一个后端系统,所以我不担心”。。。担心。这种不经意的解雇是你陷入严重麻烦的原因。将准备好的语句与占位符值一起使用,就像你的生命取决于占位符值一样,因为它可能会。互联网是一个充满敌意的地方,仅仅因为密码字段后面有东西并不意味着它是安全的。如果你没有使用预先准备好的语句,有人可能会在你的代码中发现一个漏洞,然后通过你的登录层,就像它根本不存在一样。不幸的是,这不起作用,只会导致页面崩溃,没有显示错误。真的吗?刚刚参加了一个小测验。测试是,在特定表单$\u POST['MAX\u FILE\u SIZE']的表单target中;退出($_POST['MAX_FILE_SIZE'])
输出的786432香蕉
其中786432
是允许的大小…显然对我不起作用,如果是其他原因导致它不起作用,是否还有其他代码可以显示?鉴于上面的数据转储real_escape_string
只返回一个字符串,看起来该值正在连接。它在任何方面都不是神奇或特别的。