2017-05-14 8 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(); 
} 

を与えるwhichs、私が持っているコードですか?

+0

* HTTPエラー500 *エラーが発生した場合は、まずサーバーのエラーログを確認してください。 –

+0

クエリのエラーをチェックしていれば、実際のエラーを確認できました。 XXXの近くで使用するのは正しい構文でした。 –

答えて

0

エラーは表示されませんが、$ mysqliがデータベースへの有効なmysqli接続であることを確認してください。

問題をデバッグするには、サーバーエラーログ(500エラーの原因とその行を表示)を確認するか、エラーが発生している行を正確に理解するまでコードの各部分を削除してみてください。

「実行」コールと「終了」コールは、コードが繰り返されないように常に実行されるので、if/elseif/else構造の下に移動することもできます。

また、「表」は「表」の綴りにする必要があります。

+0

これは賛美されたコメントであり、明らかに本当の問題は見られませんでした。申し訳ありませんが、私はこの回答がどのようにupvotedことができるか見ることができません。 –

+0

* "私はそこに何か誤りがない" * - あなたはしていないかもしれないが、私は持っている。 –

関連する問題