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

Tur*_*Ali 2 php mysql 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'];
Run Code Online (Sandbox Code Playgroud)

最近我添加到我的页面:

foreach ($_POST as $key => $value) { 
$_POST[$key] = mysql_real_escape_string($value);
}   
Run Code Online (Sandbox Code Playgroud)

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

Dam*_*rsy 6

正如手册中明确指出的那样(这是您应该浏览的第一件事,如有疑问):

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

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

$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
Run Code Online (Sandbox Code Playgroud)