首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >成功创建的记录不会显示在SQL数据库中

成功创建的记录不会显示在SQL数据库中
EN

Stack Overflow用户
提问于 2016-06-20 10:20:56
回答 1查看 101关注 0票数 0

由于某些原因,这段代码不起作用。它说“成功创建了记录”,但是当我检查SQL时,由于某种原因,记录没有显示出来。

这是我的代码:

代码语言:javascript
复制
<html>
<title>Voer gegevens in</title>
<body>
<?php
$serverName = "***";
$usr="*****";
$pwd="*****";
$db="********";

$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);

$con = sqlsrv_connect($serverName, $connectionInfo);
// $con = require_once "db_config.php";
// koppeling met de database-server, gebruikersnaam en wachtwoord

if (!$con)
{
 die ("kon niet verbinden met: " . sqlsrv_connect_error());
}
echo "OK, er is verbinding met de server <br>";

$sql="INSERT INTO tblRelatie (fldNaam, fldPostcode, fldPlaats, fldAdres)     VALUES ('".$_POST['Naam']."','".$_POST['Postcode']."','".$_POST['Plaats']."','".$_POST['Adres']."';)";
sqlsrv_query($con,$sql);
// Tabelnaam en alle genoemde kolom-namen waarin de waarden vervolgens     worden geplaatst

if (!$con) { echo "error"; }
else { echo "1 record toegevoegd"; }
sqlsrv_close ($con);
?>
</html>

是什么原因造成的,我该如何解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 14:02:35

您没有检查来自sqlsrv_query的返回值,因此在不应该检查的情况下,您将获得“成功”。这掩盖了你看到真正发生的事情的能力。

将行改为此,以获得适当的结果:

代码语言:javascript
复制
$stmt = sqlsrv_query($con, $sql);
if ($stmt === false) { echo "error: " . print_r(sqlsrv_errors(), true); }
else { echo "1 record toegevoegd"; }

实际错误是INSERT语句在语句末尾的格式不正确。我假设无效的代码段$_PO ST['Adres']是由于复制/粘贴错误造成的,但是真正的问题是随后发生的。

声明的这一结尾:

代码语言:javascript
复制
$_POST['Adres']."';)";

应改为:

代码语言:javascript
复制
$_POST['Adres']."');";

以便语句终止符(;)出现在语句括号之外。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37920017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档