0

私はしばらくの間PHP、HTML、SQLを使用してスクリプトを作成しており、自分のスキルは平均的だと考えています。特にSQLインジェクションを防ぐために、PDOスキルを使用してPHPを強化する方法を開発したかったのです。

私はいくつかの例を読んでそれに従いましたが、常に投げられているようです

PHP解析エラー:構文エラー、予期しないT_ENCAPSED_AND_WHITESPACE"エラー

そして私は問題が何であるかについて困惑しています。エラーは23行目で発生し、実行する必要があります。

これはPDOなしで機能していたので、フォームフィールドは問題ないことを私は知っています。変換してから、上記のエラーが発生し続けます。[$var1-$var6例のために変更]。

 <?php if(isset($_POST['submit'])) {

 // connect to db include '/xxx/xxx/pdo-db-conn.php';

 // check db connection

 $subject = $_POST['subject'];
 $email = $_POST['email'];
 $name = $_POST['name'];
 $date = $_POST['date'];
 $var1 = $_POST['var1'];
 $var2 = $_POST['var2'];
 $var3 = $_POST['var3'];
 $var4 = $_POST['var4'];
 $var5 = $_POST['var5'];
 $var6 = $_POST['var6'];
 $sqli = "INSERT INTO mytable (subject,email,name,date,var1,var2,var3,var4,var5,var6) VALUES (:subject,:email,:name,:date,:var1,:var2,:var3,:var4,:var5,:var6)";
 $sql = $dbConn->prepare("$sqli");
 $sql->execute(array(':subject' => $subject, ':email' => $email, ':name' => $name, ':date' => $date, ':var1' => $var1, ':var2' => $var2, ':var3' => $var3, ':var4' => $var4, ':var5' => $var5, ':var6' => $var6)');
4

2 に答える 2

4

'配列の最後にがあります。コードをフォーマットすると、この種の間違いを確認するのに役立ちます:)

 $sqli = "INSERT INTO mytable (subject,email,name,date,var1, var2, var3, var4, var5, var6) VALUES (:subject,:email,:name,:date,:var1,:var2,:var3,:var4,:var5,:var6)";

 $sql = $dbConn->prepare("$sqli");  
 $sql->execute(array(
    ':subject' => $subject, 
    ':email' => $email, 
    ':name' => $name, 
    ':date' => $date,
    ':var1' => $var1, 
    ':var2' => $var2, 
    ':var3' => $var3, 
    ':var4' => $var4, 
    ':var5' => $var5, 
    ':var6' => $var6
));
于 2013-01-10T10:37:57.793 に答える
0

ここに問題があります

INSERT INTO mytable >(subject,email,name,date,var1,
                    ^

これを取り除く>

'また、最後にこれから削除します

$var6)');
      ^
于 2013-01-10T10:34:40.330 に答える