简单更新并在php代码中插入mysqli无法执行

时间:2017-05-14 13:56:48

标签: php mysqli

这段代码应该是非常简单的基本编码,但它不起作用。问题出在INSERT / UPDATE代码中,因为如果我删除那些并且只是回显if / else代码中的简单文本,一切正常。

这是我的代码,它提供了HTTP ERROR 500。

$sql2 = mysqli_query($mysqli, "SELECT * FROM koppel WHERE userid = ".$_GET['userid']." AND msgid = ".$_GET['msgid']."");
$row = mysqli_fetch_assoc($sql2);

$check = $_GET['check'];                
$msgid = $_GET['msgid'];
$userid = $_GET['userid'];
$ja = 'ja';
$nee = 'nee';
$tabel_content = $row['check'];
$tabel_id = $row['id'];

if ($tabel_content == $ja){
    $stmt = $mysqli->prepare("UPDATE koppel SET check = ? WHERE id = ?");
    $stmt->bind_param('si',
       $nee,
       $tabel_id);
    $stmt->execute(); 
    $stmt->close();
} elseif ($tabel_content == $nee){
    $stmt = $mysqli->prepare("UPDATE koppel SET check = ? WHERE id = ?");
    $stmt->bind_param('si',
       $ja,
       $tabel_id);
    $stmt->execute(); 
    $stmt->close();
} else {
    $stmt = $mysqli->prepare("INSERT INTO koppel(userid, 
    msgid,check) VALUES (?, ?, ?)");
    $stmt->bind_param('iis', $userid, 
    $msgid,
    $check);
    $stmt->execute(); 
    $stmt->close();
}

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我没有看到任何错误,但请确保$ mysqli是与您的数据库有效的mysqli连接。

要调试您的问题,请尝试检查服务器错误日志(它们将显示500错误的原因,以及在哪行中)或尝试删除代码的每个部分,直到您确切了解哪条线路出现故障。

您也可以将所有“执行”和“关闭”调用移到if / elseif / else结构之下,因为它总是被执行,以避免重复代码。

“tabel”也应拼写为“table”。