2016-04-30 2 views
0

ソーシャルネットワークに「好き」の機能を追加しようとしていますが、コードは機能しません。
この関数は、$ _GETを使用して、コメントや投稿が「好き」であるかどうかを調べ、投稿やコメントが好きかどうかをチェックします。そうであれば、機能は「嫌い」になります。「好き」の機能を追加しようとするとエラーは表示されませんが、動作しません

誰かが私が間違っていたことを理解する手助けができますか?

コード:

<?php 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
session_start(); 
include "./db-connect.php"; 
$memberID= $_SESSION['memberID']; 

if(isset($_GET['post_id'])){ 
$postID=$_GET['post_id']; 
$sqlCheck="SELECT * from cs_likes WHERE post_id = $postID AND member_id = $memberID"; 
$sqlInsert="INSERT INTO cs_likes (post_id, member_id) VALUES ('$postID','$memberID')"; 
$sqlDelete="DELETE FROM cs_likes WHERE post_id= $postID AND member_id = $memberID"; 
} 
elseif(isset($_GET['comment_id'])){ 
$commentID=$_GET['comment_id']; 
$sqlCheck="SELECT * from cs_likes WHERE comment_id = $commentID AND member_id = $memberID"; 
$sqlInsert="INSERT INTO cs_likes (comment_id, member_id) VALUES ('$postID','$memberID')"; 
$sqlDelete="DELETE FROM cs_likes WHERE comment_id= $commentID AND member_id = $memberID"; 
} 
$checkResult=mysqli_query($link, $sqlCheck); 
if(mysqli_num_rows($checkResult)=0) 
$result=mysqli_query($link,$sqlInsert); 
else 
$result=mysqli_query($link,$sqlDelete); 



?> 
+1

"私のコードは動作しませんが" - OK、とコードが機能しないことをどうやって知っていますか?私はこれがLAN上のプライベートソーシャルネットワークであることを願っています。そうでなければ、あなたのサーバはすぐに危殆化するでしょう:http://stackoverflow.com/q/332365/3391783 –

+0

これは私がmysqli_real_escape_stringを使用していないことを知っています。できます。 データベースがまだ空で、ページにエスケープ機能を使用している500エラー –

+1

が読み込まれても、SQLインジェクションに対して役立つものではないため、動作しないことがわかります.-完全にパラメータを使用する必要があります。https://phpdelusions.net/ sql_injection –

答えて

1

あなたのコード...

if(mysqli_num_rows($checkResult)=0) 

はダブル等しくなければなりません...

if(mysqli_num_rows($checkResult)==0) 
+0

ありがとうございました!私はそれを逃したとは思わない –

関連する問題