このクエリを実行しようとしていますが、「致命的なエラー:メッセージ「SQLSTATE[42000]: 構文エラーまたはアクセス違反: 1064 You have an error in your SQL syntax; check the manualこれは、/home/a7668955/public_html/uploadproc1.php:106 の 1 行目の近くで使用する正しい構文の MySQL サーバー バージョンに対応しています。スタック トレース: #0 /home/a7668955/public_html/uploadproc1.php( 106): PDOStatement->execute() #1 {main} が 106 行目の /home/a7668955/public_html/uploadproc1.php でスローされました"
SQLステートメントを書いた方法に関係していると確信していますが、user_idが2回使用されたときに値をバインドする方法がわかりませんか?
$sql1 = "UPDATE people SET firstname = (SELECT firstname FROM user WHERE username=:user_id) WHERE username=:user_id)";
$q = $conn->prepare($sql1) or die("failed!");
$q->bindParam(':user_id', $user_id, PDO::PARAM_STR);
$q->execute();
助けてくれてありがとう!(このクエリは、古い mysql_* を使用して正常に実行されました)