0

セッション変数を SQL テーブルに格納する目的で、いくつかの PHP/SQL を作成しました。(phpが機能したことをユーザーに伝えるhtmlをいくつか省略しました。)

<?php
session_start();
$name = $_REQUEST["name"];
$type = $_REQUEST["type"];
$lengthnum = $_REQUEST["lengthnum"];
$rewardnum = $_REQUEST["rewardnum"];
$itemreward = $_REQUEST["itemreward"];

$dsn = "mysql:host=localhost;dbname=xxxxxx";
$username = "xxxxxxxxx";
$pw = "xxxxxxxx";
$options = array(PDO ::ATTR_ERRMODE=>PDO ::ERRMODE_EXCEPTION);
try
{
    $my_pdo = new PDO ($dsn, $username, $pw, $options);
    $sql_stmt = "INSERT INTO xxxxxx (Name, Type, Length, Reward, Item)
                 VALUES ($name, $type, $lengthnum, $rewardnum, $itemreward)";
    $my_pdo->query($sql_stmt);
}
catch(Exception $a)
{
    echo "<p>Error..." . $a->getMessage() . "</p>";
}
?>

何らかの理由で、このコードは "$options = array(" の後に php タグから "分割" され、これが html ファイルに出力されます。

PDO ::ERRMODE_EXCEPTION); try { $my_pdo = new PDO ($dsn, $username, $pw, $options); $sql_stmt = "INSERT INTO simpleWFA (Name, Type, Length, Reward, Item) VALUES ($name, $type, $lengthnum, $rewardnum, $itemreward)"; $my_pdo->query($sql_stmt); } catch(Exception $a) { echo "

Error..." . $a->getMessage() . "
"; } ?>

ありがとう!

4

1 に答える 1

0

推測ですが、配列定義が無効だと思います。

$options = array(PDO ::ATTR_ERRMODE=>PDO ::ERRMODE_EXCEPTION);

次のようなものでなければなりません

$options = array("PDO::ATTR_ERRMODE"=>"PDO::ERRMODE_EXCEPTION");
于 2013-05-19T02:20:30.637 に答える