我尝试在将一些数据插入数据库后发送回最后插入的ID。我成功将数据输入数据库,但没有发回任何响应数据。我使用的是Php PDO,它托管在Google App Engine上,我的标题设置为dbconnect.php文件中的application / json。我需要添加什么才能成功发回响应数据。
<?php
require('dbconnect.php');
$statement=$con->prepare('INSERT INTO customers (fname, lname) VALUES (:fname,:lname)');
$statement->execute(array(':fname' => $_POST['fname'], ':lname' => $_POST['lname'] ));
$orderId = $statement->lastInsertId();
$json = $json_encode($orderId);
echo $json;
$con = null;
?>
答案 0 :(得分:2)
我收到通知:未定义索引:fname和注意:未定义索引:lname和致命错误:调用未定义方法PDOStatement :: lastInsertId() - Moustache_Me_A_Question 10分钟前
表单元素没有名称属性。
因此,您需要将它们添加到元素中。
以下是您可以自行选择的示例表单:
<form action="" method="post">
First name:
<input type="text" name="fname">
<br>
Last name:
<input type="text" name="lname">
<br>
<input type="submit" name="submit" value="Submit">
</form>
这就是为什么你得到未定义的索引通知。
$json = $json_encode($orderId);
应该读作$json = json_encode($orderId);
- json_encode()
不应该是变量,而应该是函数本身。
此外:
$orderId = $statement->lastInsertId();
到
$orderId = $con->lastInsertId();
这就是你收到这条消息的原因:
致命错误:调用未定义的方法PDOStatement :: lastInsertId()