2012-02-22 3 views
0

내 SQL 삽입 쿼리가 내 프로그램에서 작동하지 않습니다. 쿼리를 출력 한 다음 phpmyadmin의 mysql 탭에 해당 코드를 붙여 넣은 다음 완벽하게 작동합니다. 어떤 몸이라도 도와주세요.삽입 쿼리가 내 프로그램에서 작동하지 않지만 mysql 탭에서 잘 작동합니다

if ($_FILES["thumbnailimage"]["size"]>0) 
{ 
    $thumbnailkey = generateUniqueKey($tbl_uploads,"upload_key",12); 
    $fkey = generateUniqueKey($tbl_uploads,"file_key",24); 
    $folderkey = generateUniqueKey($tbl_uploads,"folderkey",28); 
    $fname = substr($_FILES['thumbnailimage']['name'],0,strpos($_FILES['thumbnailimage']['name'],".")); 
    $ext = getExtension($_FILES['thumbnailimage']['name']); 
    $insertnewupload = "INSERT INTO ".$tbl_uploads." (upload_key,file_key,file_name,file_type,ext,folderkey,user_id,status,pkey) VALUES "; 
    $insertnewupload.="('".$thumbnailkey."','".$fkey."','".$fname."','1','".$ext."','".$folderkey."','".$_SESSION['user_id']."','0','".$productkey."')"; 
    echo "<br>1=>".$insertnewupload; 
// $db->connect(); 
    $exec_insertnewitem = mysql_query($insertnewupload); 

이가 인쇄됩니다 당신은, 당신이 목표로해야 숫자 값을 인용하는

INSERT INTO tbl_uploads (upload_key,file_key,file_name,file_type,ext,folderkey,user_id,status,pkey) VALUES ('f958c38e5c31','9b6bd5118ec4a8456bcc46df','sunil','1','jpg','1c1a536fbdde4f24a219ada4c1c9','7','0','3b593aff92ce') 
+0

당신이 삽입 작업에 점점 여기에 오류를 작성 해주세요 ... – Milap

+0

어떻게 당신이 당신의 프로그램에서 작동하지 않습니다 알게 되었습니까? – hakre

+0

오류가 없습니다. 프로그램을 실행할 때 데이터가 삽입되지 않습니다. –

답변

1

을 넣어. 나는

INSERT INTO `tbl_uploads` (
    `upload_key`, 
    `file_key`, 
    `file_name`, 
    `file_type`, 
    `ext`, 
    `folderkey`, 
    `user_id`, 
    `status`, 
    `pkey` 
) 
VALUES (
    'f958c38e5c31', 
    '9b6bd5118ec4a8456bcc46df', 
    'sunil', 
    '1', 
    'jpg', 
    '1c1a536fbdde4f24a219ada4c1c9', 
    7, 
    0, 
    '3b593aff92ce' 
) 

그래서 라인에 대한 다음과 같은 대체 지정 값은으로

$insertnewupload = "INSERT INTO `".$tbl_uploads."` (`upload_key`,`file_key`,`file_name`,`file_type`,`ext`,`folderkey`,`user_id`,`status`,`pkey`) VALUES "; 
$insertnewupload.="('".$thumbnailkey."','".$fkey."','".$fname."','1','".$ext."','".$folderkey."',".$_SESSION['user_id'].",0,'".$productkey."')"; 

을 충분합니다 ('상태가'예약하면 내가 기억 할 수 없음) 또한 필드 이름 주위에 역 따옴표를 추가했습니다 또한 mysql_ 대신에 mysqli_ 함수 나 PDO를 사용해야한다는 몇 가지 의견이있을 것입니다. 현재 쿼리 작성과 같은 방법으로 SQL 삽입에 취약 할 수 있습니다.

0

이유가있을 수 있습니다 ... 올바른 데이터베이스에 연결했는지 확인 했습니까? "tbl_uploads"전에 데이터베이스 이름을 추가하십시오. "mybase.tbl_uploads"

0

항상 이와 같이 mysql 쿼리를 작성하십시오. 위해서 var_dump ($ 검사) 경우

$query = "INSERT INTO tablename (`upload_key`,`file_key`,`file_name`,`file_type`,`ext`,`folderkey`,`user_id`,`status,pkey`) VALUES ('f958c38e5c31','9b6bd5118ec4a8456bcc46df','sunil','1','jpg','1c1a536fbdde4f24a219ada4c1c9','7','0','3b593aff92ce')"; 
$check = mysql_query($query); 

검사, true 또는 false를 반환 ..

관련 문제