PHPでsyntax error
Q&A
Closed
PHPでシンタックスエラーが出ています。
具体的には
「Parse error: syntax error, unexpected token ";" in C:\xampp\htdocs\Portfolio\user_update_commit.php on line 36」
です。
問題となっているのは36行目のようです。
36行目↓
[htmlspecialchars($_REQUEST['password'],ENT_QUOTES | ENT_HTML5,'UTF-8')]);)
エラーとしては;を指摘してますが、SQLの閉じカッコの後に;を記述しているので問題ない
ように思えます。
閉じカッコの過不足や、位置を確認し、修正しましたが、解決できません。
どこか問題なのかご教示いただけないでしょうか。
ソースコードを添付します。
該当するソースコード
<?php
var_dump($_REQUEST['password']);
try{
require_once('db_connect.php');
$sql=$pdo->prepare('update user_table set last_name=?, first_name=?, last_name_kana=?, first_name_kana=?, user=?, password=? where id=? ');
if(empty($_REQUEST['sei']) || empty($_REQUEST['mei']) || empty($_REQUEST['sei_kana']) || empty($_REQUEST['mei_kana']) || empty($_REQUEST['user']) || empty($_REQUEST['password']))
{
echo '未入力の項目があります。';
}
else if(!preg_match('/\A[ァ-ヴー]+\z/u', $_REQUEST['sei_kana']) || !preg_match('/\A[ァ-ヴー]+\z/u', $_REQUEST['mei_kana']))
{
echo 'カナ名は全角カナで入力してください。';
}
else if(!preg_match('/\A[a-zA-Z0-9!-\/:-@[-`{-~]+\z/u', $_REQUEST['user']))
{
echo 'ユーザーは半角英数字記号で入力します';
}
else if(!preg_match('/\A[a-zA-Z0-9!-\/:-@[-`{-~]{10,}\z/u', $_REQUEST['password']))
{
echo 'パスワードは半角英数字記号10文字以上で入力します。';
}
else if(!preg_match('/\A[a-zA-Z0-9!-\/:-@[-`{-~]{10,}\z/u', $_REQUEST['password2']))
{
echo 'パスワードは半角英数字記号10文字以上で入力します。';
}
else if($_REQUEST['password'] !== $_REQUEST['password2'])
{
echo '2つのパスワードが一致してません。';
}
else if($sql->execute(
[htmlspecialchars($_REQUEST['sei'],ENT_QUOTES | ENT_HTML5,'UTF-8')],
[htmlspecialchars($_REQUEST['mei'],ENT_QUOTES | ENT_HTML5,'UTF-8')],
[htmlspecialchars($_REQUEST['sei_kana'],ENT_QUOTES | ENT_HTML5,'UTF-8')],
[htmlspecialchars($_REQUEST['mei_kana'],ENT_QUOTES | ENT_HTML5,'UTF-8')],
[htmlspecialchars($_REQUEST['user'],ENT_QUOTES | ENT_HTML5,'UTF-8')],
[htmlspecialchars($_REQUEST['password'],ENT_QUOTES | ENT_HTML5,'UTF-8')]);)
{
echo '更新に成功しました。';
}
else {
echo '更新に失敗しました。';
}}
catch(PDOException $e)
{
echo "次がエラーの内容です。;" .$e->getMessage();
}
?>
0 likes