MySQLI + PHP更新/选择使用bind_param发布但不回显

时间:2012-04-25 01:57:43

标签: php mysqli

我一整天都在乱砍,只有成功的“更新”才能展示出来。我是使用MySQLI的新手,似乎遇到了脚本的几个问题。

志愿者使用html表单输入他们已经在数据库中的电子邮件地址。然后,数据库显示其计划信息,并将“已确认”列从(默认)“否”更新为“是”。

更新在数据库中显示为已确认为“YES”,但输出未在页面本身上回显。

这是PHP:http://pastebin.com/KSPGuuae

Errors: UPDATE FAILED: () object(mysqli_stmt)#2 (0) { } 
        select FAILED: () object(mysqli_stmt)#3 (0) { }
Fatal error: Call to undefined method mysqli_stmt::get_result() in
/home/content/79/6007279/html/summerfest/display.php on line 119: 

119:  $result = $stmt->get_result();

1 个答案:

答案 0 :(得分:1)

在尝试获取结果之前,您忘记运行$stmt->execute()

此外,get_result()仅在PHP 5.3中引入

对于以前的PHP版本,您应该使用此查询:

SELECT agreeName, position, shift_times, confirmed FROM volConfirm ... etc

然后在PHP中:

// bind result columns
$stmt->bind_result($agreeName, $position, $shift_times, $confirmed);
while ($stmt->fetch()) {
    // use $agreeName, $position, etc.
}

我更喜欢PDO的工作方式,尽管PHP 5.3至少mysqli更可行。