[英]bindValue with FILE and POST variables into SQL DB
我似乎無法將所有這些變量都發布到數據庫中。 當我省略$file_desc
的$_POST
時,它起作用。 所有$_FILE
變量都傳遞到我的數據庫。 這是獲取變量的代碼:
$file_name = $_FILES['image']['name'];
$tmp = explode('.', $file_name);
$file_ext = strtolower(end($tmp));
$file_size = $_FILES['image']['size'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_error = $_FILES['image']['error'];
$file_desc = nl2br($_POST['desc']);
這是用於運行查詢的代碼:
$query = $pdo->prepare('INSERT INTO upload (name, type, size, desc) VALUES (?, ?, ?, ?)');
$query->bindValue(1, $file_name);
$query->bindValue(2, $file_ext);
$query->bindValue(3, $file_size);
$query->bindValue(4, $file_desc);
$query->execute();
DESC
是MySQL關鍵字,用於按降序對選定的行進行排序。 在您的情況下,MySQL認為它是關鍵字而不是字段名。 為了使它理解這是一個字段,您應該將其放在撇號中:
$query = $pdo->prepare('INSERT INTO upload (name, type, size, `desc`) VALUES (?, ?, ?, ?)');
我也建議您學習調試,並注意返回的錯誤:我敢打賭MySQL告訴您有關“第1行desc附近語法錯誤”的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.