2016-12-27 3 views
0

PHP 스크립트를 통해 mysql 데이터베이스에 데이터를 저장하려고합니다. 내가 가게에 노력하고 데이터는 암호화 등이이 같은 것을 저장하는 것을 의미합니다 : 내 쿼리를 생성 할 때, 나는이 암호화 된 값으로 데이터베이스에 연결 오류가 발생, 그러나mysql 데이터베이스에 데이터를 저장할 수 있도록 데이터 형식을 지정하는 방법

'$ñŠN4Åßv4ñ•ÜÅصÙÜqÚö4Þ§ƒÑìèêù¬a+µºeN¶†)‰ož¥´™³¯BâPqt‡š3ÊØyGyŠí!¬‚ƒý`,È-SFn­…,˜EïÕ¬_¯ ÛÆ1y©aœ«#˜¼öe÷·2,¢‹éUËx‰0ý`ΪÄÅŒ1²ljìí -{6“6{Êܤ^3ùˆ-G¹' 

을 때로는 따옴표 ('또는')와 쉼표로 인해 쿼리가 잘못 해석되는 것을 의미합니다.

이 데이터에서 쉼표와 따옴표를 무시할 수있는 방법이있어서 내 쿼리가 올바르게 해석되므로 위의 것을 저장할 수 있습니까?

많은 감사합니다.

(내 쿼리는 단순히 일반 텍스트와 암호화 된 데이터를 넣을 때 작동합니다.)

+2

기초를 도움이 될 것입니다 기본적으로

SELECT something FROM somewhere WHERE this = :that bind('that', $val) 
당신은 PDO에 보일 것입니다

, 쉽다. 다시 한번 살펴보십시오. – arkascha

+4

준비된 문을 사용하면 데이터의 따옴표에 문제가 없습니다. –

답변

1

SQL 문에서 사용하기 위해 문자열의 특수 문자를 이스케이프 처리하는 mysql 이스케이프 만 수행하면됩니다. 준비된 문을 사용하여

예 ..

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 

$encrypted = mysqli_real_escape_string($con, $encryptedText); 

$sql="INSERT INTO table (columnName) VALUES ($encrypted)"; 

mysqli_query($con,$sql); 

?> 
0

데이터가 보이는 방식이라면 테이블 열의 데이터 형식을 blob로 선언 할 수 있습니다. PHP를 사용하여 pdo 함수를 사용하여 MySQL 데이터베이스에서 CRUD를 수행 할 수 있습니다. 이게 도움이 되길 바란다.

0

내 의견에 갈 수있는 가장 좋은 방법입니다하지만 당신은 너무 탈출에 대해 배워야한다, 당신이 알아야 할 무언가이다.

준비된 문은 "탈출"에 대한 설명,이 SQL 쿼리를 사용하는 방법에 대한 모든 소개에 https://phpdelusions.net/pdo

관련 문제