添加 mysql_real_escape_string() 会导致将空白值存储到数据库中

发布于 2024-11-15 22:09:50 字数 771 浏览 4 评论 0原文

$submit=$_POST['submit'];
$fullname=$_POST['fullname'];
$phone=preg_replace('/[^0-9]/', '', $_POST['phone']);
$phone =  (int) $phone;
$adress=$_POST['city']  . ' ' .  $_POST['district'] . ' ' . $_POST['adress'];
$friends=$_POST['friends'];
$school=$_POST['school'];
$info=$_POST['info'];
$dob = $_POST['year']."-". $_POST['month']."-".$_POST['day'];

最近我添加到我的页面:

foreach ($_POST as $key => $value) { 
$_POST[$key] = mysql_real_escape_string($value);
}   

我想清理所有 $_POST (http://prntscr.com/22uot)添加 mysql_real_escape_string() 到我的页面之前的 ID 20,之后的 id 22。我的页面将所有变量放入数据库表的字段中,但是当我想将 mysql_real_escape_string() 添加到变量时,它不会将任何内容放入该字段中。我不知道该怎么办。

$submit=$_POST['submit'];
$fullname=$_POST['fullname'];
$phone=preg_replace('/[^0-9]/', '', $_POST['phone']);
$phone =  (int) $phone;
$adress=$_POST['city']  . ' ' .  $_POST['district'] . ' ' . $_POST['adress'];
$friends=$_POST['friends'];
$school=$_POST['school'];
$info=$_POST['info'];
$dob = $_POST['year']."-". $_POST['month']."-".$_POST['day'];

Recently i added to my page:

foreach ($_POST as $key => $value) { 
$_POST[$key] = mysql_real_escape_string($value);
}   

i want to sanitize all $_POST's (http://prntscr.com/22uot) ID 20 before adding mysql_real_escape_string() to my page, id 22 after. My page puts all variables to db table's fields but when I want to add mysql_real_escape_string() to variable it puts nothing into the field. I dunno what to do.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷梦 2024-11-22 22:09:50

正如 手册 中明确指出的(这是第一个如有疑问,您应该浏览的内容):

之前需要MySQL连接
使用 mysql_real_escape_string()
否则会出现 E_WARNING 级别的错误
生成,并返回 FALSE。
如果未定义 link_identifier,则
使用最后一个 MySQL 连接。

在使用此功能之前,请确保您已连接到数据库。

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

As clearly indicated in the manual (which is the first things you should browse, when in doubt):

A MySQL connection is required before
using mysql_real_escape_string()
otherwise an error of level E_WARNING
is generated, and FALSE is returned.
If link_identifier isn't defined, the
last MySQL connection is used.

Be sure you've connect to your database before using this function.

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
醉酒的小男人 2024-11-22 22:09:50

要使用此功能,您必须先打开与数据库的连接,例如:

mysql_connect(...);
$fullname=mysql_real_escape_string($_POST['fullname']);
etc ...

to use this function, you must have a connection opened to your database before, like :

mysql_connect(...);
$fullname=mysql_real_escape_string($_POST['fullname']);
etc ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文