2016-10-01 19 views
5

エラーが発生しました。メンバテーブルとイメージパスからのユーザ名をアップロードディレクトリから取得したいのですが、私のイメージは自動インクリメントです。内部結合のMySQLクエリエラー

   INSERT INTO profileimage SET 
       `imageid`='', 
        `username`='username', 
       `imagepath`='$target_file' 
      inner join member 
      on profileimage.username=member.username; 

私は

1064エラー以下しまった - あなたはあなたのSQL構文でエラーが発生しています。 5

ラインで「profileimage.username = member.username上のメンバーに参加するにインナー」の近くに使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください私のPHPスクリプトは、ここで

<?php 
error_reporting(E_ALL^E_NOTICE); 
include('configdb.php'); 
if (isset($_POST['submit'])) { 

$target_dir = "../Photos/"; 
$target_file = $target_dir . basename($_FILES["file"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 

if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["file"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 

if (file_exists($target_file)) { 
    $target_file = $target_dir . rand(1,100000) . basename($_FILES["file"]["name"]); 
    $uploadOk = 1; 
} 



if ($_FILES["file"]["size"] > 600000) { 
    echo "Sorry, your file is too large."; 
    $uploadOk = 0; 
} 

if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" 
&& $imageFileType != "gif") { 
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed."; 
    $uploadOk = 0; 
} 

if ($uploadOk == 0) { 
    echo "Sorry, your file was not uploaded."; 

} else 
    if(move_uploaded_file($_FILES["file"]["tmp_name"], $$target_dir.$target_file)) 
       {  
      $QueryInsertFile="INSERT INTO imgstore SET 
      `imgpath`='$target_file'"; 


       } 
       else { 
     echo "Sorry, there was an error uploading your file."; 
    } 

} 
?> 
+0

クエリの順序が正しくありません。何を企んでるんだ?シナリオを共有します。 –

+0

写真を自分の写真店にアップロードしたときにプロファイルページを作成したいのですが、必要な情報を持つ特定の画像をログインしたユーザーが表示されるようにしてください – Marina

+0

上記のクエリは全く違うようです。それは挿入クエリではないはずです。私はあなたがログインするためにセッションを使用していることを願っています。ユーザーIDをクエリに渡して、ユーザーに必要なプロファイルイメージを取得するだけです。 –

答えて

1
です

INSERT INTO ProfileImage(col1, col2) 
SELECT col1, col2 
FROM member m INNER JOIN AnyTable k 
ON m.Col1 = k.Col1 
WHERE m.username = 'John' 

注:列番号が同じでなければなりません

あなたは、インサートを選択するには、以下を使用する必要があります。