簡體   English   中英

具有FILE和POST變量的bindValue到SQL DB

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM