こんにちは 私は現在、学位プロジェクトの簡単なプロトタイプを開発しています。ユーザーが動的ドロップダウンからいくつかのオプションを選択する前のフォームがあり、これらがテーブルに保存されると、次のページはユーザーがファイルをアップロードするためのものです。このファイルは、別のテーブルを参照する外部キーを持つ別のテーブルに格納されます。問題はファイルのアップロード ページにあります。最初に動作させることができるかどうかを確認したかったので、外部キーを表す変数を含めていません。誰かがそれを助けることができれば、それは大歓迎です。
私が受け取ったエラーは、アップロードファイルの名前が挿入クエリのフィールドの有効な列名ではないか、または
SQL を変更しようとすると、参照整合性に違反しているため、子テーブルで挿入または更新を実行できません。
私は太っていますか?私は数時間立ち往生しています。
これがphpです
if (isset($_POST['action']) and $_POST['action'] == 'upload')
{
$uploadfile = $_FILES['upload']['tmp_name'];
$uploadname = $_FILES['upload']['name'];
if(is_uploaded_file($uploadname)) {
$uploadtype = $_FILES['upload']['type'];
$uploaddata = file_get_contents($uploadfile);
// Prepare user-submitted values for safe database insert
$uploadname = mysql_real_escape_string($uploadname);
$uploadtype = mysql_real_escape_string($uploadtype);
$uploaddata = mysql_real_escape_string($uploaddata);
$sql = "INSERT INTO product_logs (fileName, mimeType, fileData)
VALUES (".$uploadname.",".$uploadtype.",".$uploaddata.")";
$exesql=mysql_query($sql) OR die(mysql_error());
}
else {
echo 'Error: File could not be uploaded.';
}
}
include("file.html.php");
ここにfile.html.phpがあります
<form action="" method="post" enctype="multipart/form-data">
<div>
<label for="upload">Upload File:
<input type="file" id="upload" name="upload"/></label>
</div>
<div>
<input type="hidden" name="action" value="upload"/>
<input type="submit" value="Upload"/>
</div>
</form>
product_logs テーブルの構造は次のとおりです。
Field Type Null Key Default Extra
logID int(5) NO PRI NULL auto_increment
dateCreated date NO NULL
malResultID int(6) NO MUL NULL
mimeType varchar(50) NO NULL
fileData mediumblob NO NULL
fileName varchar(255) NO NULL