2017-07-19 59 views
0

我有MySQL数据库具有下面的表:PHP MySQL的:添加朋友

  • 用户表:由ID(int)和用户名的(VARCHAR)
  • 朋友表:由ID(int)和Friends_ID(varchar)

我在我的本地主机上测试了我的脚本,它工作正常,但只要我将脚本上传到我选择的免费虚拟主机,它不能正常工作。例如,FriendID被添加到所有用户的Friendlist而不是仅指定的一个。

这里是我的PHP脚本:

<?php 
$servername= "********"; 
$serverusername="********"; 
$password="**********"; 
$dbName= "***********"; 

//Make Connection 
$connection = new mysqli($servername, $serverusername,$password, $dbName); 
//Check Connection 
if(!$connection){ 
    die("Connection Failed. ". mysqli_connect_error()); 
} 

$friend_username = 'Steven';//$_POST["friendusernamePost"]; 
$username ='Hans'; //$_POST["usernamePost"] 

$getOwnID_q = "SELECT ID FROM Users WHERE Username = '$username' "; 
$getFriendID_q = "SELECT ID FROM Users WHERE Username = '$friend_username' "; 

$ownID_result = mysqli_query($connection, $getOwnID_q); 
$ownID = mysqli_fetch_assoc($ownID_result)["ID"]; 

$friendID_result = mysqli_query($connection, $getFriendID_q); 
$friendID = mysqli_fetch_assoc($friendID_result)["ID"]; 

if($ownID<1) 
    echo "ERROR: couldn't get correct Own ID"; 
else if($friendID<1) 
    echo "ERROR: couldn't get correct friend ID"; 
else{ 
    $getFriendlist_q= "SELECT Friends_ID From Friends WHERE ID = '$ownID' "; 
    $oldFriendlist_result = mysqli_query($connection, $getFriendlist_q); 
    $oldFriendlist = mysqli_fetch_assoc($oldFriendlist_result)["Friends_ID"]; 
    //check if user isnt already friends with other user 
    $splitted = explode(";", $oldFriendlist); 


    if(in_array($friendID, $splitted)){ 
     echo "You are already Friends."; 
    } 
    else{ 
     //append ';' at the end of friendID 
     $friendID .= ';' ; 
     $updatedFriendlist = $oldFriendlist . $friendID; 
     $addID_query = "UPDATE Friends SET Friends_ID = $updatedFriendlist WHERE ID = $ownID "; 

     if ($connection->query($addID_query) === TRUE) { 
      echo "Friendlist updated successfully"; 
     } 
     else { 
      echo "Error updating Friendlist: " . $conn->error; 
     } 
    } 

    $connection->close(); 
} 

?> 

我有PHP或MySQL这使你的帮助,将不胜感激之前没有任何经验。

回答

0

第一你有一个大问题来连接一个SQL请求与 可变

$getOwnID_q = "SELECT ID FROM Users WHERE Username = '$username' "; 

成为

$getOwnID_q = "SELECT ID FROM Users WHERE Username like ' ".$username." ' "; 

$getFriendID_q = "SELECT ID FROM Users WHERE Username = '$friend_username' "; 

成了

$getFriendID_q = "SELECT ID FROM Users WHERE Username like ' ".$friend_username." ' "; 

$getFriendlist_q= "SELECT Friends_ID From Friends WHERE ID = '$ownID' "; 

成了

$getFriendlist_q= "SELECT Friends_ID From Friends WHERE ID =".$ownID; 

$addID_query = "UPDATE Friends SET Friends_ID = $updatedFriendlist WHERE ID = $ownID "; 

成了

$addID_query = "UPDATE Friends SET Friends_ID = ".$updatedFriendlist." WHERE ID = ".$ownID;