-1
私は画像のアップロードとテキスト入力を持つフォームを持っています。 profile_picture
フィールドをNULLに置き換え続けます。したがって、動的更新クエリを作成しようとしています.1つの値が空であれば、クエリからすべて除外されます。MYSQLへのPHP PDO動的更新クエリ
何か助けていただければ幸いです。
画像のアップロード:
if (!empty($_FILES['profile_picture']) && $_FILES['profile_picture']['error'] == UPLOAD_ERR_OK) {
// Rename the uploaded file
$uploadName = $_FILES['profile_picture']['name'];
$tmp_name = $_FILES['profile_picture']['tmp_file'];
$ext = strtolower(substr($uploadName, strripos($uploadName, '.')+1));
$filename = round(microtime(true)).mt_rand().'.'.$ext;
if (move_uploaded_file($_FILES['profile_picture']['tmp_name'],'../profile_picutres/'. $filename)) {
}
}
更新クエリ:以下
$stmt = $dbh->prepare("UPDATE 001_user_table_as SET profile_picture=:profile_picture, first_name=:first_name, last_name=:last_name, phone_number=:phone_number, nationality=:nationality, years_experience=:years_experience, data=:data WHERE id=:id");
$stmt->bindParam(':profile_picture', $filename);
$stmt->bindParam(':first_name', $first_name);
$stmt->bindParam(':last_name', $last_name);
$stmt->bindParam(':phone_number', $phone_number);
$stmt->bindParam(':nationality', $nationality);
$stmt->bindParam(':years_experience', $years_experience);
$stmt->bindParam(':data', $cv_data);
$stmt->bindParam(':id', $user_id);
if($stmt->execute()){
$response["message"] = 'success';
}else{
$response["message"] = 'error';
$errors++;
}
参考のために完全なエラーメッセージと生成された文 – Jens
を追加してください。[PDOの例: PDOのためのWHERE句を動的に作成する方法](https://phpdelusions.net/pdo_examples/dynamical_where) –
あなたの(複雑すぎる)コードでは、少なくとも二重コロンを使用していますが、その他の問題があります。結果のクエリをエコーして、SQLだけを見てみませんか? –