2011-10-07 5 views
0

addslashes 및 stripslashes에 문제가 있습니다. 이 같은
내가 추가 한 데이터 :addslashes가 PHP에서 작동하지 않습니다

$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가 꺼져 있습니다.

+2

솔루션을 사용'addslashes()를 사용하지 말라 '. 그것은 당신이 그것을 사용하는 것을 의미하지 않습니다. 대신에 mysql_real_escape_string()을 사용하십시오. – JJJ

+0

경고 : mysql_real_escape_string() [function.mysql-real-escape-string] : 26 행의 order_info.php에서 사용자 'jkj'@ 'localhost'에 대한 액세스가 거부되었습니다 (비밀번호 사용 : NO). 경고를 위해 –

+1

확인 : http://stackoverflow.com/questions/3520079/error-while-using-mysql-real-escape-string –

답변

3

대신 addslashesmysql_real_escape_string

http://php.net/manual/en/function.mysql-real-escape-string.php

+0

경고 : mysql_real_escape_string() [function.mysql-real-escape-string ] 26 번째 라인의 order_info.php에서 'jkj'@ 'localhost'(패스워드 사용 : NO)에 대한 액세스가 거부되었습니다. 경고 : mysql_real_escape_string() [function.mysql-real-escape-string] : 서버로의 링크 26 번째 줄에 inorder_info.php를 만들 수 없습니다. –

+0

$ data [ 'sender_name'] = mysql_real_escape_string ($ _ POST [ 'sender_name']); –

+0

글쎄, 그냥 다른 기능을 찾는 "addslashed 안된다"문제 뒤에 이유를 찾는 데 도움이되지 않습니다? 왜 작동하지 않는지 이해할 수 있다면 정말 좋을 것입니다. – Potheek

관련 문제