由于某些原因,这段代码不起作用。它说“成功创建了记录”,但是当我检查SQL时,由于某种原因,记录没有显示出来。
这是我的代码:
<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>是什么原因造成的,我该如何解决呢?
发布于 2016-06-20 14:02:35
您没有检查来自sqlsrv_query的返回值,因此在不应该检查的情况下,您将获得“成功”。这掩盖了你看到真正发生的事情的能力。
将行改为此,以获得适当的结果:
$stmt = sqlsrv_query($con, $sql);
if ($stmt === false) { echo "error: " . print_r(sqlsrv_errors(), true); }
else { echo "1 record toegevoegd"; }实际错误是INSERT语句在语句末尾的格式不正确。我假设无效的代码段$_PO ST['Adres']是由于复制/粘贴错误造成的,但是真正的问题是随后发生的。
声明的这一结尾:
$_POST['Adres']."';)";应改为:
$_POST['Adres']."');";以便语句终止符(;)出现在语句括号之外。
https://stackoverflow.com/questions/37920017
复制相似问题