0

これは、別のページからアップロードされた画像を受け取るファイルです。画像が受信され、サーバーに保存されます (その部分は機能しています) クエリはありません。ファイル名にダミーの値を使用して手動で phpMyAdmin にクエリを入力したところ、機能しました。このダミー クエリをこのコードに挿入しましたが、機能しません。何が間違っているのかわかりません。

<?php
$ds  = DIRECTORY_SEPARATOR;  
$storeFolder = 'img';   
if (!empty($_FILES)) {
    $tempFile = $_FILES['file']['tmp_name'];              
    $targetPath = $_SERVER['DOCUMENT_ROOT']. $ds. $storeFolder . $ds;  
    $targetFile =  $targetPath. $_FILES['file']['name'];  
    move_uploaded_file($tempFile,$targetFile); 
    mysql_query("INSERT INTO `photos` (photo_id, file_name) VALUES ('', '".$_FILES['file']['name']."');"); 
}
?>  
4

1 に答える 1

1

ここで photo_id が自動インクリメントされると仮定すると、コードにいくつかの修正が加えられます。

<?php
$ds  = DIRECTORY_SEPARATOR;  
$storeFolder = 'img';   
if (!empty($_FILES)) {
    $name = $_FILES['file']['name'];
    $tempFile = $_FILES['file']['tmp_name'];              
    $targetPath = $_SERVER['DOCUMENT_ROOT']. $ds. $storeFolder . $ds;  
    $targetFile =  $targetPath. $_FILES['file']['name'];  
    move_uploaded_file($tempFile,$targetFile); 
    $query = "INSERT INTO photos (photo_id, file_name) VALUES (NULL, '".$name."')"; 
    $result = mysql_query($query);
    if (!$result) die ("Database access failed: " . mysql_error());
}
?>  

このようにして、コードをデバッグできるはずです。Javascript 呼び出しから結果を取得する必要がある場合は、AJAX を使用する必要があります。

ここをチェックしてください:

PHP ページにリクエストを送信し、ajax を使用して結果を取得する

于 2013-05-29T22:56:10.177 に答える