PHP/MySQL 错误:无法使用 PDO 执行 INSERT INTO

我是 PHP/MySQL 的初学者,试图通过表单将数据插入到表中,但我一直得到这个:

连接成功错误:无法执行 INSERT INTO foo (firstname, lastname, landline, mobile) VALUES ('', '', ', ')。

我有限的理解告诉我我连接成功,但没有任何东西进入桌面。检查表格证实了这一点。

我正在尝试将数据从 PHP 7.1 WHMCS 服务器发送到运行 MySQL 5.1.73 的远程主机。我正在从 WHMCS 中提取一个用户 ID 并预先填充该字段,以便将其与表单数据的其余部分一起发送。我将该字段设置为“隐藏”和“文本”,但不走运。

我什至将表单复制/粘贴到单独的 html 并尝试在根目录下运行所有内容。没有运气。

我用这个例子作为我的指南。

表格.tpl:

根据 nextendweb 的 Roland 在 WordPress 支持论坛上发布的内容,我找到了解决我的问题的方法。他提交了一个错误报告:


https://bugs.php.net/bug.php?id=76563


他的建议是在我的情况下:


$final .= ob_get_contents();

ob_clean();

代替:


$final .= ob_get_clean();

因为它没有像它应该的那样工作。


温温酱
浏览 237回答 2
2回答

四季花海

在 action.php 中,您在设置变量之前使用变量。// insert a row$userid = $_POST["userid"];$firstname = $_POST["firstname"];$lastname = $_POST["lastname"];$landline = $_POST["landline"];$mobile = $_POST["mobile"];// prepare sql and bind parameters$stmt = $conn->prepare("INSERT INTO foo (id, firstname, lastname, landline, mobile) VALUES (:userid, :firstname, :lastname, :landline, :mobile)");$stmt->bindParam(':userid', $userid);$stmt->bindParam(':firstname', $firstname);$stmt->bindParam(':lastname', $lastname);$stmt->bindParam(':landline', $landline);$stmt->bindParam(':mobile', $mobile);$stmt->execute(); 
打开App,查看更多内容
随时随地看视频慕课网APP