2017-11-13 2 views
1

이 질문은 여러 번 전에 물어 보았습니다. 그리고 제가 잘못 찾고있는 곳을 찾고 검색해 보았습니다.Dreamweaver cc SQL 쿼리

도움이 필요하십니까? 미리 감사드립니다.

나는 dreamweaver cc 업데이트 쿼리가 이미 설정되어 있으며 훌륭하게 작동합니다. 이제 데이터베이스에 이미지를 추가하고 싶습니다.

query = UPDATE Speakers SET speaker='John Doe', chkSportsCeleb=1, chkEntertainment=0, chkEmcee=0, chkCFLAA=1, chkKeynote=1, chkAutioneer=0, speakerImg= WHERE speakerID=59 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE speakerID=59' at line 1 

내가 이미지 내용이 횡설수설로 표시한다고 생각 : 나는 브라우저에서 내 코드를 미리 볼 때 이것이 내가 무엇을 얻을

$image = $_FILES['speakerimage']['tmp_name']; 
    $imgContent = addslashes(file_get_contents($image)); 
    $updateSQL = sprintf("UPDATE Speakers SET speaker=%s,  chkSportsCeleb=%s, chkEntertainment=%s, chkEmcee=%s, chkCFLAA=%s, chkKeynote=%s, chkAutioneer=%s, speakerImg=%s WHERE speakerID=%s", 
        GetSQLValueString($_POST['speaker'], "text"), 
        GetSQLValueString(isset($_POST['SportsCeleb']) ? "true" : "", "defined","1","0"), 
        GetSQLValueString(isset($_POST['Entertainment']) ? "true" : "", "defined","1","0"), 
        GetSQLValueString(isset($_POST['Emcee']) ? "true" : "", "defined","1","0"), 
        GetSQLValueString(isset($_POST['CFLAA']) ? "true" : "", "defined","1","0"), 
        GetSQLValueString(isset($_POST['Keynote']) ? "true" : "", "defined","1","0"), 
        GetSQLValueString(isset($_POST['Autioneer']) ? "true" : "", "defined","1","0"), 
        $imgContent, 
        GetSQLValueString($_POST['speakerID'], "int")); 

:

여기 내 쿼리입니다. 나는 이것을 다시 쓰는 방법을 알 수 없다.

감사

롤랜드

+0

사용하고있는 데이터베이스? –

+0

데이터베이스에 MySql 5.7을 사용하고 있습니다. –

답변

0

UPDATE 문에 지정 바로 다음 변수에 이미지를로드하고 시도해보십시오

$image = $_FILES['speakerimage']['tmp_name']; 
$imgContent = addslashes(file_get_contents($image)); 
$updateSQL = sprintf("UPDATE Speakers SET speaker=%s,  chkSportsCeleb=%s, chkEntertainment=%s, chkEmcee=%s, chkCFLAA=%s, chkKeynote=%s, chkAutioneer=%s, $imgContent WHERE speakerID=%s", 
// ... 
+0

@RolandWinowich,하지만 귀하의 코드는 준비된 문을 사용하지 않아 이상적이지 않습니다. 우리는 이미지 BLOB를 PHP 준비 문에 바인딩하는 방법을 찾아야한다. –

+0

나는 테스트 db를 설정하고 단순히 db에 이미지를 추가하기로 결정했다. 내 db는 ID, Int (10) 및 Image, blob로 구성됩니다. 동일한 이미지를 각 DB에 업로드했습니다. 나는 다음의 MySql Update 문으로 이미지를 업데이트하려고 애 썼다. 그런 다음 이미지를 다시 표시합니다. 내 DB를 확인하고 내 이미지 필드에 [BLOB - 22.2KiB]를 표시합니다. –

+0

일단 그것을 작동 시켰 더라면 db, Blob의 Image 필드를 추가하고, db 정보를 변경하고, 이전 db 필드 등을 주석 처리했습니다. 나는 그것을 실행했고 "File uploaded successfully"라는 메시지를 받았습니다. 그러나 이미지가 표시되지 않았습니다. 내 DB에 가서 이미지가 추가되었지만 다음과 같이 표시됩니다 [BLOB - 0B]. 이미지를 제대로 저장하지 않는 이유에 대한 의견이 있으십니까? 스크립트에 대한 두 번째 게시물을 참조하십시오. –