簡単な、画像アップロードおよび更新をするプログラムをしています。 画像のアップロード自体はうまくいくのですがデータベースにつないでimageのパスを変更しようとすると2002エラーが起きてしまいます。 ホスト名はローカルなので127.00.1出あっていると思うので 1.画像データの更新がうまくいかないのでどこを直せばいいか教えてください。 以下、ほかに聞きたいこと 2.sessionの中にユーザー名が格納されているのですが直接クエリの中に書いても実行できませんでした。 sessionをクエリに書くのは不可なのでしょうか?例select * from $_SESSION['user'] 以下コード <?php session_start(); $user=$_SESSION['user'];//セッションにはユーザー名が入ります。ここでは一応adminにしておきました。 $num=mt_rand(1,10000); // ファイルへのパス $path = 'image/'.$user.'/'.chr(mt_rand(97,122)).chr(mt_rand(97, 122)).chr(mt_rand(97, 122)).$num.'pic.jpg'; try { $pdo = new PDO("mysql:host=127.00.1;dbname=hoge;charset=utf8mb4", 'root','', [PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]); $stmt=$pdo->query("update $user set image =$path where id =1"); } catch (PDOException $e) { die('database error : ' . $e->getMessage()); } // ファイルがアップロードされているかと、POST通信でアップロードされたかを確認 if( !empty($_FILES['image']['tmp_name']) && is_uploaded_file($_FILES['image']['tmp_name']) ) { // ファイルを指定したパスへ保存する if( move_uploaded_file( $_FILES['image']['tmp_name'], $path) ) { echo 'アップロードされたファイルを保存しました。'; } else { echo 'アップロードされたファイルの保存に失敗しました。'; }} ?>
PHP