尝试使用以下代码将数据插入表中:
if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO customers (FName, LName, JAddress, BAddress, Phone, APhone, Email, AEmail) values(?, ?, ?, ?, ?, ?, ?, ?);";
$q = $pdo->prepare($sql);
$q->execute(array($FName,$LName,$JAddress,$Baddress,$Phone,$APhone,$Email,$AEmail,$id));
Database::disconnect();
header("Location: index.php");
}
值
// keep track post values
$id = $POST['id'];
$FName = $_POST['FName'];
.....etc
形式
<div class="control-group <?php echo !empty($nameError)?'error':'';?>">
<label class="control-label">ID</label>
<div class="controls">
<input name="id" type="text" placeholder="ID" value="<?php echo !empty($id)?$id:'';?>">
<?php if (!id($idError)): ?>
<span class="help-inline"><?php echo $idError;?></span>
<?php endif; ?>
</div>
</div>
<div class="control-group <?php echo !empty($FNameError)?'error':'';?>">
<label class="control-label">First Name</label>
<div class="controls">
<input name="FName" type="text" placeholder="First Name" value="<?php echo !empty($FName)?$FName:'';?>">
<?php if (!empty($FNameError)): ?>
<span class="help-inline"><?php echo $FNameError;?></span>
<?php endif; ?>
</div>
</div>
我进入一个页面,显示ID表单字段,我想保持隐藏,当然还有自动增量。在表格字段下面我得到: 调用未定义的函数id()
如果我输入ID#并按回车键,我会收到以下错误: 注意:未定义的变量:POST 注意:未定义的索引:电话 ...等
我知道这必须是我的一些摸索关键,但我没有发现它。有谁看到我哪里出错了?
答案 0 :(得分:1)
这一行$id = $POST['id'];
$POST
缺少下划线:
$_POST
这是一个超级全球http://php.net/manual/en/language.variables.superglobals.php
Nota:
中还有一个额外的参数$id
((array($FName,$LName,$JAddress,$Baddress,$Phone,$APhone,$Email,$AEmail,$id))
也可能造成问题。