2014-05-11 77 views
0

我創建了一個加友系統,這樣人們可以通過他們的個人資料相互關注。我還沒有完成樣式,它是純粹的功能。我的問題如下:「已發送邀請」按鈕不斷顯示,儘管邀請已發送。老實說,我不知道爲什麼。我在phpmyadmin中測試了這個查詢,它工作正常。有2個用戶的入口。添加朋友系統故障

這裏有疑問:

$user_id = $_SESSION['user_id']; 
//SEARCH THE USERNAME OF THE LOGGED IN USER 
$stmt = $mysqli->prepare("SELECT username, email FROM members WHERE user_id = ? "); 
$stmt->bind_param('s', $user_id); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($my_username, $my_email); 
$stmt->fetch(); 
$stmt->close(); 

$username = safe($mysqli,$_GET["username"]); 
//LOOK UP THE DETAILS OF THE USERNAME 
$stmt = $mysqli->prepare("SELECT user_id, email FROM members WHERE username = ? "); 
$stmt->bind_param('s', $username); 
$stmt->execute(); 
$stmt->store_result(); 
$stmt->bind_result($userid, $email); 
$stmt->fetch(); 
$stmt->close(); 

//Sent invite <---IT KEEPS SAYING THIS EVENTHOUGH THERE'S AN ACTIVE ENTRY 
$friendQuery1 = mysqli_query($myqsli,"SELECT * FROM friends WHERE friend_one = '$my_username' AND friend_two = '$username' AND invite_sent = 0 "); 

//Invite sent, awaiting acceptance 
$friendQuery2 = mysqli_query($myqsli,"SELECT * FROM friends WHERE friend_one = '$my_username' AND friend_two = '$username' AND invite_sent = 1 "); 

//Invite accepted. User is friends. 
$friendQuery3 = mysqli_query($myqsli,"SELECT * FROM friends WHERE friend_one = '$my_username' AND friend_two = '$username' AND invite_accepted = 1 "); 

這是HTML部分

<body> 
DEBUG: 
This is the profile page from <b><?php echo $username ?></b><br /> 
Emailadres: <b><?php echo $email ?></b><br /> 
<br /> 

<?php if (login_check($mysqli) == true) : ?> 

<?php if (mysqli_num_rows($friendQuery1) == 0) { 
    echo '<div style="width: 150px; text-align:center; border:1px solid #cecece;">Add friend</div>'; 
} 

if (mysqli_num_rows($friendQuery2) == 1) { 
    echo '<div style="width: 200px; text-align:center; border:1px solid #cecece;">Invite sent</div>'; 
} 

if (mysqli_num_rows($friendQuery3) == 1) { 
    echo '<div style="width: 200px; text-align:center; border:1px solid #cecece;">Already Friends</div>'; 
} 
?> 

<br> 
<br> 
<br> 
<b>CURRENT LOGGED IN USER: <?php echo $user_id ?> AKA USERNAME: <?php echo $my_username ?></b> 

<?php endif; ?> 

Bye. 

</body> 

所以基本上 '添加好友' 按鈕不斷顯示沉綿有一個條目,其中invite_sent被設置爲'1'。這意味着它應該顯示第二個查詢,即'INVITE SENT'按鈕。

我無法弄清楚什麼是錯這裏爲')

編輯#1 - SAFE()函數

function safe($mysqli,$value) { 
    return mysqli_real_escape_string($mysqli,$value); 
} 
+0

你的'safe()'方法做什麼? –

+0

我編輯了我的帖子,關於這個:) – user3512502

+0

嘗試在您的HTML中替換'==='以找到'==',以捕獲任何失敗的查詢,這將返回false而不是零行。 – Oli

回答

0

我已經解決了它自己。我讀了代碼的每一小部分,並注意到我使用$ myqsli而不是$ mysqli。正因爲如此,它沒有顯示任何東西。

+1

打開錯誤報告!在php.ini中,查找' display_errors'和'error_reporting'。 – Rudie