2014-01-13 20 views
0

我在我的服務器上傳我的腳本,並在同一臺服務器上創建了一個新的數據庫。在localhost中的PHP中的相同腳本不能在線工作

與數據庫的連接正在工作,但是當兩個腳本檢查或在數據庫上插入新值不起作用,但是在localhost中是的!

<?php 
    require 'client/facebook.php'; 

    $app_id = "***"; 
    $secret = "***"; 
    $app_url = "***"; 

    // Create our Application instance 
///jump the code 
    //////////////////////////////// 
    $sdb = "***"; 
    $db = "***"; 
    $userdb = "***"; 
    $passdb = "***"; 

    $dblink = mysql_connect($sdb,$userdb,$passdb); 
    $seldb = mysql_select_db($db); 

    $username = $username; //user data 
    $UIDfaceboook =$id; //UID USER FACEBOOK FROM API 
    $user_type ="aa"; //USER DATA 

    $connection =""; //variable for start function check UID 
    $checkUIDdb ="INATTESA"; //check if exist the UID facebook 
    $insertnewuser =""; 
    $loadspecific ="inattesa"; 

    /// 
    ///CHECK CONNECTION WITH DATABASE 
    /// 

    $mysqlConnection = mysql_connect($sdb, $userdb, $passdb); 
    if (!$mysqlConnection) 
    { 
     echo "NO DATABASE FOUND, CHECK USER, PASS, DB"; 
    } 
    else 
    { 
     echo "connection with database is   "; 
     echo $connection = "ok"; 
    mysql_select_db($db, $mysqlConnection); 
    } 

    //////////////////////////THIS FUNCTION DOESN'T WORK ONLINE 
    if ($connection = "ok"){ 

    $con=mysqli_connect($sdb,$userdb,$passdb,$db); 
    $check="SELECT * FROM tabletest WHERE UIDfacebook = '$UIDfaceboook'"; 
    $rs = mysqli_query($con,$check); 
    $data = mysqli_fetch_array($rs, MYSQLI_NUM); 
    if($data[0] > 1) { 
     echo "UID IN THE DATABASE   "; 
     echo $checkUIDdb = "found"; 
    } 

    else 
    { 
      echo "UID IN THE DATABASE   "; 
      echo $checkUIDdb = "nofound"; 
     } 


    } 

    ///////////////THIS FUNCTION DOESN'T WORK ONLINE, and doesn't insert values 
    if($connection == "ok" && $checkUIDdb == "nofound"){ 

     $username = strip_tags(mysql_real_escape_string($username)); 
     $UIDfacebook = strip_tags(mysql_real_escape_string($UIDfaceboook)); 
     $user_type = strip_tags(mysql_real_escape_string($user_type)); 
     $sql = mysql_query("INSERT INTO `$db`.`tabletest` (`id`,`username`,`UIDfacebook`,`user_type`) VALUES ('','$username','$UIDfaceboook','$user_type');"); 

     if($sql){ 

       //The query returned true - now do whatever you like here. 
       echo $connection = "SAVE USERNAME, UID FACEBOOK AND USER TYPE ON DATABASE"; 

       echo $loadspecific ="caricadati"; 
       echo $insertnewuser = "yes"; 

     }else{ 

       //The query returned false - you might want to put some sort of error reporting here. Even logging the error to a text file is fine. 

     } 

    }else{ 
     echo $connection = "  CORRECT LOGIN WITH FACEBOOK"; 

    } 

     mysql_close($dblink); 

     //Close off the MySQL connection to save resources. 
    ?> 

我的服務器上的回聲PHP說:「與數據庫連接okUID在數據庫nofound」所以,我沒有當變量$連接,$ checkUIDdb工作不加載插入腳本理解一個新用戶...我嘗試在我的數據庫中添加我的UID facebook,以檢查腳本是否跳過這一步,但腳本忽略數據庫...只是說...

也許第一個問題是$ check =「SELECT * FROM tabletest WHERE UIDfacebook ='$ UIDfaceboook'」;

但在本地主機的作品..

非常感謝你,我不知道我能做什麼......

+0

你有你的服務器中的數據庫變量給出正確的價值觀? –

+3

mysql_and mysqli_不一樣,不要混用。 – Pwner

+0

也許你需要在這裏使用'mysqli_connect()'和'mysqli_select_db()'這樣的mysqli函數。 –

回答

0

我看到第一個錯誤是這樣的一個:

//////////////////////////THIS FUNCTION DOESN'T WORK ONLINE 
if ($connection = "ok"){ 

我想你應該編輯這

if ($connection == "ok"){ 

所以你問,如果$連接的值爲「好」,而不是如果噸他爲$連接分配「ok」已成功完成。

二錯誤可能是「MySQL的」和「mysqli的」混合物...

心連心

+0

非常感謝你:) – Ribis