MSSQL サーバーに送信しようとしている次のコードがあります (css は無関係であるため、切り捨てられています)。問題は、試行するたびにエラーが発生することです。コードは 2 つの PHP ページに分割されています。ページ 1 にはフォームがあり、ページ 2 には接続データと文字列があります。
ページ 1 (スパン セクションのテキストを複製する js 関数があるため、送信する前にプレビューを取得できるため、下部に余分なものがあります):
<form action="create.php" name="frmAdd" method="post">
<div class="news"><a id="news1"></a>
<div class="newstitle">
<h3>
<input id="headline" type="text" maxlength="50" name="headlinetxt" />
</h3>
</div> <em><h5>
<input id="timestamp" type="text" name="timestamptxt" />
</h5></em>
<div class="divider"></div>
<p>
<textarea id="news" type="text" name="newstxt"></textarea>
</p>
</div>
</div>
<div class="news"><a id="news1"></a>
<div class="newstitle">
<h3>
<span id="headlinedisp" /></span>
</h3>
</div> <em><h5>
<span id="timestampdisp" /></span>
</h5></em>
<div class="divider"></div>
<p><span id="newsdisp" /></span>
</p>
</div>
</div>
<div id="button" onClick="document.forms['frmAdd'].submit();">Submit</div>
</form>
ページ2:
<head>
<title>News Edit</title>
</head>
<body>
<?php
include('/adodb5/adodb.inc.php');
$db = NewADOConnection('odbc_mssql');
$dsn = "Driver={SQL Server};Server=sage;Database=live;";
$db -> Connect($dsn,'user','pass');
$strSQL = "INSERT INTO website_news VALUES ('".$_POST["headlinetxt"]."','".$_POST["timestamptxt"]."','".$_POST["newstxt"]."') ";
$upld = $db->Execute($strSQL);
If($upld)
{
echo("Complete");
}
else
{
echo("Error");
}
$db->Close();
$db = null
?>
</body>
これが接続されていない理由について誰か考えがありますか? デバッグの早い段階で別のエラーが発生していたため、ページ 2 の 10 行目 (SQL をコンパイルする場所) に問題があると思います。列 1 に一意の ID がありますが、これは理論的には自動入力されるはずですが、...IDENTITY,'".$POST_["headline....など、実際には必要ないはずです。エラーを表示するだけでなく、コードのさまざまな部分をデバッグするより良い方法はありますか? (編集:昨夜、VBでErrを使用できるのと同じ方法でobjErrを使用できることがわかりました。まったく考えていませんでした。それをテストして、何が得られるかを確認します)
(追伸。要求があれば個別に投稿するちょっとした副次的な質問です。理論的には複製機能が正常に機能しています(つまり、JSFiddleで機能します)が、それを取得して所定の位置に配置するとすぐに機能しませんサイト自体で、Chrome で実行され、フィドルと同じ仕様の jQuery を実行しています。フィドルはこちら: http://jsfiddle.net/bmgh1985/XcScd/ )