PHP和ADODB - ADODB在上传内容时抛出错误

时间:2013-08-01 15:48:54

标签: php sql-server adodb

我有以下代码(截断触摸,因为css无关紧要)我试图提交给我的MSSQL服务器。问题是,它只会在我尝试的每件事情中引发错误。代码分为2个PHP页面。第1页有表格,第2页有连接数据和字符串。

第1页(我有一个js函数,它复制了span部分中的文本,所以你在提交之前预览它,这就是为什么在底部的额外部分):

<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 _ [”标题....实际上,这不应该是必要的。是否有更好的方法来调试代码的不同部分而不仅仅是显示错误? (编辑:昨晚我发现我可以使用objErr,就像我在VB中使用Err一样。根本没想到它。会测试它并看看我得到了什么)

提前致谢

(PS。一个轻微的问题,如果我要求,我将单独发布。我有重复的功能在理论上工作正常(即它在JSFiddle中工作),但是一旦我接受它并把它放到位我无法得到它可以在网站上运行,在Chrome中运行,运行与小提琴相同的规范jquery。小提琴在这里:http://jsfiddle.net/bmgh1985/XcScd/。再次感谢!)

1 个答案:

答案 0 :(得分:0)

没关系。我想通了(意识到我可以像在VB中那样使用Err.Description)