2012-10-04 3 views
3

이것은 나를 미치게합니다. jQuery 이미지 업로드 및 자르기를 사용하고 있습니다. http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/mysqli는 php 변수가 아닌 값을 저장합니다.

여기에서 제안 된 수정 된 버전을 사용하여 MySQL 데이터베이스에 파일 위치를 저장하고 있습니다. 모드는 INSERT를 테이블에서 사용한다는 것만 제외하면 'owner'변수 $ id가 $ id 값으로 저장되고 $ id 값으로 저장되지 않습니다. 각 $ _POST에 $ id가 있으면 값을 반향시킬 수 있으므로 거기에 있음을 알 수 있습니다.

나는 내 구문이 정확하다는 것을 확신하지만 왜 이렇게하는지 이해할 수 없다.

$cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale); 
    //connect to the database 
    include 'config.php'; 
    // check connection 
    if (mysqli_connect_errno()) { 
     exit('Connect failed: '. mysqli_connect_error()); 
    } 
    $sql = "INSERT INTO `photos` (`id`,`owner`,`url`) VALUES ('id','".$id."','".$thumb_image_location."')"; 
    // Performs the $sql query on the server to insert the values 
    if ($conn->query($sql) === TRUE) { 
     $conn->close();} 
//Reload the page again to view the thumbnail 
header("location:".$_SERVER["PHP_SELF"]); 
exit(); 

첫 번째 줄은 246이고 마지막 세 줄은 원래 247-250입니다.

도움을 주셔서 감사합니다.

좋아,이 두뇌 방귀 또는 PHP 또는 둘 다 약간 문제가 있는지, 나도 몰라. 나는 각각의 페이지의 헤더에 _SESSION 변수로부터 할당 된 $ id를 가지며 (잊어 버린 채로) $ id를 _POST 데이터 (같은 값)로 전달했다. 일단 _POST 데이터가 전달되면 _SESSION 변수가 제대로 작동합니다. 그러나 변수를 여러 번 할당하면 문제가되지 않습니다.

+0

데이터베이스에 표시되는 문자열이 "$ id"또는 "id"입니까? 그것이 "id"라면 아마도 $ id가 설정되지 않고 PHP는 문자열을 해석하는 것으로 떨어지고 있음을 의미합니다. 그것은 "$ id"의 경우, 내가 생각할 수있는 유일한 것은 작은 따옴표 안에 $ id가있는 것입니다 (이중 따옴표 안에 중첩되어 있지는 않지만). 그러면 코드에서 발생하지 않는 것으로 보입니다. – octern

+0

$ sql = 줄 바로 앞에서 $ id를 반향하면 어떻게됩니까? –

+0

Octern, 소유자 필드는 $ id로 채워집니다. –

답변

0

쿼리 라인은 다음과 같이 할 필요가 : here

이이를 볼 때

$sql = "INSERT INTO `photos` (`id`,`owner`,`url`) VALUES ('id','$id','$thumb_image_location')"; 

당신의 구문이 너무 잘 작동하는 방법을 내 구문 작품, here

참고 : 모두 동일하게 작동하므로 OP의 코드에서 무엇이 잘못되었는지 파악하려고합니다.

+0

그런 식으로 $ id가 아니라 값을 저장하지만 URL은 여전히 ​​작동합니다. –

+0

OP가 사용하는 쿼리와 정확히 일치해야하는 것처럼 보입니다.하지만 계산에 실패하지 않는 한 눈을 띄지 않는 견적 추적이 필요하지 않습니다. – octern

+0

예, 방금 처음에 테스트 한 다음 OP의 :), 따라서 거기에 둘 다 넣어. –

관련 문제