【问题标题】:Successfully created records don't show up in SQL database [closed]成功创建的记录不会显示在 SQL 数据库中[关闭]
【发布时间】:2016-06-20 10:20:56
【问题描述】:

此代码由于某种原因不起作用。它说“记录创建成功”,但是当我检查 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>

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

【问题讨论】:

  • 不需要提交?
  • 什么是 $_PO ST['Adres']?为什么 PO 和 ST 之间有空格?
  • 抱歉第一次在这里问问题我在插入代码时搞砸了。我还评论了一些东西,因为我认为这是问题
  • 学习使用 PDO,不要使用这种可怕的 SQL 注入代码。 php.net/manual/en/book.pdo.php
  • 只需要有关此代码的帮助,不会重写所有内容,它只会在内部使用,并且我将成为表单中唯一的一个填写者

标签: php html sql sql-server


【解决方案1】:

您没有检查来自sqlsrv_query 的返回值,因此您在不应该检查时获得了“成功”。这会影响您了解实际情况的能力。

将这些行改为此以获得正确的结果:

$stmt = sqlsrv_query($con, $sql);
if ($stmt === false) { echo "error: " . print_r(sqlsrv_errors(), true); }
else { echo "1 record toegevoegd"; }

实际的错误是 INSERT 语句格式错误,位于语句的最后。我假设无效的 sn-p $_PO ST['Adres'] 是由于复制/粘贴错误,但真正的问题是紧随其后。

语句到此结束:

$_POST['Adres']."';)";

应该改成这样:

$_POST['Adres']."');";

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

【讨论】:

  • OK,er is verbindingmet de server error: Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -14 [code] = > -14 [2] => 向 sqlsrv_query 传递了一个无效参数。[message] => 向 sqlsrv_query 传递了一个无效参数。))这是我得到的错误
  • 我在回答中拼错了$con(如$conn)。我已经更正了这一点,有了这个改变,它应该对你有用。
猜你喜欢
  • 2014-07-25
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 2016-09-03
相关资源
最近更新 更多