【发布时间】:2011-10-07 06:57:54
【问题描述】:
我在使用 addlashes 和 stripslashes 时遇到问题。
我添加了这样的数据:
$data['sender_name']= addslashes($_POST['sender_name']);
$data['sender_email']= $_POST['sender_email'];
$id=insert('delivery',$data);
function insert($table=NULL,$fields=NULL)
{
if($table && isset($table) && $fields && isset($fields))
{
$sql="INSERT INTO $table(";
foreach($fields as $key=>$value)
{
$sql.="$key,";
}
$sql=(substr($sql,0,strlen($sql)-1));
$sql.=") VALUES (";
foreach($fields as $key=>$value)
{
if(is_string($value))
$sql.="'".$value."',";
else
$sql.="$value,";
}
$sql=(substr($sql,0,strlen($sql)-1));
$sql.=")";
$flag=0;
self::openConnection();
mysql_query($sql,self::$connection);
$flag=mysql_insert_id();
self::closeConnection();
return $flag;
}
}
它是在数据库中输入数据但没有添加斜杠。
magic_quotes_gpc 已关闭。
【问题讨论】:
-
解决方法:不要使用
addslashes()。它不适合您使用它。请改用mysql_real_escape_string()。 -
我收到此警告:mysql_real_escape_string() [function.mysql-real-escape-string]:order_info 中用户 'jkj'@'localhost' 的访问被拒绝(使用密码:否)。第26行的php
标签: php