2014-12-12 2 views
2

폼의 결과를 저장하는 MSQL 테이블이 있습니다. 하나의 열은 데이터를 입력하기 전에 serialize를 사용하여 다중 선택 옵션의 결과를 저장합니다.MYSQL 쿼리에서 아포스트로피가 반환되지 않는 필드

while 루프에서 데이터를 검색하면 2 개의 항목을 제외하고 완벽하게 작동합니다. 하나는 아포스트로피 '를 사용하고 (항목은 Contour d' Or), 다른 따옴표는 "(항목은 머리말 확장 18입니다.")) 나는이 2를 인식하고 쿼리에 포함시키지 못하는 것 같습니다.

mysqli_real_escape_string을 사용해 보았지만 작동하지 않습니다. 이 답변이 오면 검색 단지의 경우 사람에 어떤 도움을 기꺼이받을 것 http://ben-major.co.uk/2012/12/mysql-searches-and-apostrophes/

:

$q = "SELECT * 
     FROM Departments 
     WHERE `Department` = '$depart' AND `cookie` ='$value'"; 
$r = mysqli_query($connection, $q) or die("Error description: " . mysqli_error($connection)); 
$row = mysqli_fetch_assoc($r); 

$Treatment = $row['Treatment']; 
$Treatments = unserialize($Treatment); 

foreach($Treatments as $key => $TreatmentN){ 
    echo $TreatmentN . " "; 


    //INCOME 2014 & 2015 
    $q = "SELECT (SUM(TurnOver)- SUM(Discount)) AS total 
      FROM Appointments 
      WHERE `Date` BETWEEN '2014-04-01' AND '2015-03-31' 
      AND `Treatment`LIKE '%$TreatmentN%' 
      OR REPLACE(`Treatment` , '\'', '') LIKE '%$TreatmentN%' 
      AND `cookie` ='$value'"; 
    $sum_query_resa = mysqli_query($connection, $q); 
    $rowa = mysqli_fetch_assoc($sum_query_resa); 
    $income += $rowa['total']; 
    echo $TreatmentN; 
} 

echo "<p>Total Income £" .sprintf('%0.2f', $income) ." "; 
+0

그들은 윤곽 D로 표시 :) 내가 가서 배우는 중이에요 \ '또는 검색된 변수를 반향시킵니다. 위의 쿼리에서 검색 할 때이를 인식하도록 MYSQL을 가져올 수 없습니다. –

+0

에 삽입 할 준비를하는 동안은 밑줄 또는 공백으로 아포스트로피 따옴표를 대체 할 수 – Anthony

+0

을 사용하여 데이터베이스 – Claire

답변

1

: 난 그냥이 페이지이라 내가 읽은 다른 답변에 제안 된 뭔가를 시도했다 그것을 통해 ID 대신 이름을 검색하기 위해 데이터베이스를 재구성했습니다.

는 처음부터이 권리를 수행 할 뻔했지만 나는

이 문
관련 문제