2017-05-14 14 views
-1

这段小小的代码应该是非常简单的基本编码,但它不起作用。问题出在INSERT/UPDATE代码中,因为如果我删除这些代码,只是回显if/else代码中的简单文本,那么一切正常。简单的更新和在php代码中插入mysqli无法执行

这是代码我有,伟驰给出了一个HTTP错误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(); 
} 

我缺少什么?

+0

如果您收到* HTTP ERROR 500 *错误,请首先检查您的服务器的错误日志。 –

+0

如果您检查了查询中的错误,您会发现真正的错误。在'XXX'附近使用'正确的语法。 –

回答

0

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

要调试您的问题,请尝试检查您的服务器错误日志(它们将显示500错误的原因以及在哪一行中)或尝试删除代码的每个部分,直到您明确知道哪一行失败。

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

另外“tabel”应拼写“table”。

+0

这是一个荣耀的评论,显然没有看到真正的问题。对不起,但我看不出这个答案可以如何提高。 –

+0

*“我没有看到任何错误”* - 也许你没有,但我有。 –