PHPとMySQLを使い、画像データベースを構築しています。
以下までできたのですが、SQL syntaxエラーが発生してしまい、UP出来ませんでした。
画像を指定しない場合は、成功します。
<form method="post" action="addinfo.php" enctype="multipart/form-data">
Place Name(*)<br>
<input type="text" size="50" maxlength="100" name="place_name"><br>
Address(*)<br>
<input type="text" size="50" maxlength="100" name="address"><br>
Pictures<br>
<input type="file" size="50" name="picture1"><br>
<input type="file" size="50" name="picture2"><br>
<input type="file" size="50" name="picture3"><br>
<input type="reset" value="Reset" name ="reset">
<input type="submit" value="Submit" name="submit">
</form>
<?php
if ($_POST["submit"] != "") {
// Connecting DB
require 'lib.php';
//img1
if ($_FILES["picture1"]["tmp_name"] != NULL) {
$fp = fopen($_FILES["picture1"]["tmp_name"], "rb");
if (!$fp) {
print("Cannot open the uploaded file <BR>\n");
exit;
}
$img1 = fread($fp, filesize($_FILES["picture1"]["tmp_name"]));
fclose($fp);
}
-----------------------------------------------------------
img2, img3についての処理もimg1と同じなので、文字数の関係で省略します
-----------------------------------------------------------
// Insert Query
$sql = "INSERT INTO places
(place_name, address, `picture1`, `picture2`, `picture3`)
VALUES('{$_POST["place_name"]}','{$_POST["address"]}',
'{$img1}', '{$img2}', '{$img3}')
";
$result = mysql_query($sql);
if (!$result) {
print("QUERRY ERROR<BR>\n");
print(mysql_errno() . ": " . mysql_error() . "<BR>\n");
exit;
}
echo "UPLOAD SUCCESSFULL ";
ご教授お願いいたします
No.1ベストアンサー
- 回答日時:
picture1, picture2, picture3
は、画像ということなので、バイナリデータであると推察します。
バイナリデータのデータベースへの登録は、1つのINSERT文だけでは出来ません。
SQL文というのは、文字列だけで記述する必要があります。
おそらく、テーブルにBLOBのカラムを設けて、そこへ登録を行うことになります。
やり方は、参考URLなどを参照してください。「php blob」で検索して、最初に表示されたページです。
参考URL:http://www.doyouphp.jp/sample/sample_ora_blob.sh …
No.2
- 回答日時:
いあ、それ以前に、外部から来たものを SQL に直に突っ込むなよ。
構文エラーの原因はそれだけ。
バイナリだろうが、文字列だろうが本質に変わりはない、扱う側の問題だ。
余談。
サイズが多分でかいから、アップが成功するとは限らない、とか、アップしてくるのは、良心的なやつらばかりじゃないとか色々。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL文で右から1文字だけ削除す...
-
チェックボックスの項目をDBにi...
-
カウント結果を1レコードの中...
-
【初歩】ラジオボタンをつかっ...
-
【MYSQL】asでリネームしてwher...
-
My SQL の concat文について
-
月別、販売員別の集計がわかり...
-
SQLサーバーは[main]![No]とい...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
select insertで複数テーブルか...
-
カレントレコードが無い事を判...
-
Excelでセルの書式設定を使用し...
-
Date型にNULLをセットしたい V...
-
データセットのレコード更新が...
-
select句副問い合わせ 値の個...
-
ADO VBA 実行時エラー3021
-
SELECTの結果で同一行を複数回...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL文で右から1文字だけ削除す...
-
【MYSQL】asでリネームしてwher...
-
使うべきでない文字。
-
SQLの集計で「全て」の合計も表...
-
sum()の出力結果順に並び替えを...
-
MySQLで MAX()とGROUP BYを使う...
-
割合(パーセント)を求めるに...
-
チェックボックスの項目をDBにi...
-
月別、販売員別の集計がわかり...
-
MySQL のデータからドロップダ...
-
【初歩】ラジオボタンをつかっ...
-
カウント結果を1レコードの中...
-
何にかが違うから エラーなんで...
-
SQLiteのLike句で抽出できない
-
今週の日曜日から土曜日までの...
-
replaceを使って更に重複レコー...
-
複数の表の条件でのDELETE文
-
SQLサーバーは[main]![No]とい...
-
名寄せして件数を取得する事は...
-
LIKE述語/SQLとPHPを使った検...
おすすめ情報