ファイルを添付するためのオプションがあるページを作成しています。ファイルに名前に一重引用符が付いていると、エラーが発生します。これは私が試した方法です:ファイル名にmysqlがあると添付ファイルが動作しない
$id = intval(mysqli_real_escape_string($mysqli, $_REQUEST["id"]));
$upload_directory = "uploads/attachments/";
$result = file_upload("attachment", "../".$upload_directory);
if($result[status] == true) {
$query = "insert into `attachments`
(
`id`,
`file_name`,
`file_extension`,
`file_size`,
`uploaded_file_name`,
`uploaded_file_path`
)
values
(
'$id',
'".$result[file_name]."',
'".$result[file_extension]."',
'".$result[file_size]."',
'".$result[uploaded_file_name]."',
'".$upload_directory.$result[uploaded_file_name]."'
)";
これは私が得たエラーです:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '2016.xlsx'
'xlsx',
'7988',
'1466056157029.xlsx',
'upload' at line 15
私はこれが問題になる場所である知っている:「『。$ [ファイル名]結果』」。問題は私が使用した一重引用符のためです。私は何をすべきか?私は何を追加すべきですか?
あなたは、インサート文のフィールドリストで「recorded_by」と「recorded_datetime」を逃している – Jens
プリペアドステートメントを学ぶコードの下を参照してください。 – Jeff
「私はエラーが発生しました」 - 次回はそのエラーを投稿します。彼らは理由がある - あなたに何が間違っているか教えてくれる。 – Jeff