簡體   English   中英

PHP和mysql,SELECT查詢返回null

[英]PHP and mysql, SELECT query return null

這是PHP代碼:

<?php
// header('Content-type: application/json');
header('Content-Type: text/html; charset=UTF-8');

$d=$_GET["userid"];

 $servername = "*******";
 $username = "***";
 $password = "****";
 $dbname = "*****";
 $arr = array();

  $My_Connection = mysql_connect ( $servername, $username , $password ) ;
     if ( ! $My_Connection )
       {
           die( ' Could not connect : ' . mysql_error( ) ) ;
       }
    //pick data base
    mysql_select_db ( $dbname, $My_Connection );

    mysql_set_charset('utf8',$My_Connection);

         $sql_tempcreate="CREATE TABLE tmp(id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,DID VARCHAR(20) NOT NULL)";
         if(mysql_query($sql_tempcreate,$My_Connection))
         {
            $sql_convert="ALTER TABLE tmp CONVERT TO CHARACTER SET utf8";
            mysql_query($sql_convert);

           $sql_inserttotemp="INSERT INTO tmp (DID) SELECT DID FROM user WHERE 1 Order By HIGHSCORE DESC";
                if(mysql_query($sql_inserttotemp,$My_Connection))

                {
                 //***************************************** from here problem start
                    $sql_rank="SELECT * FROM `tmp` WHERE DID =".$d."";//    |
                    $r=mysql_query($sql_rank,$My_Connection);             //    |
                                                                          //    |
                    $rank= $r;                                            //    V
                }//******************************************************** to here

         }
         else
         {
            $rank= array("ERROR","ERROR");
         }
            $output = json_encode(array('top' => $arr,'rank' =>$rank));
            echo ($output);
    }
    else
    {
        echo "there is an error :(";
    }
    mysql_query("DROP TABLE tmp",$My_Connection);
mysql_close($My_Connection); 

?>

tmp表創建成功,數據成功插入tmp表,但“選擇查詢”返回null! 我實際上嘗試$ r為null (LIKE&=)但結果相同

這個查詢有什么問題?

編輯:

我什至將查詢更改為:

$sql_rank="SELECT * FROM tmp WHERE DID=352136069213581" 

而不是再次工作:(

戰車

編輯:正確答案:

坦克到gaurav kumar,這是正確的代碼:D

$sql_rank="SELECT * FROM `tmp` WHERE DID LIKE ".$d."";
$res=mysql_query($sql_rank,$My_Connection);
$r=mysql_fetch_assoc($res);
$rank= $r;

$d可能是一個字符串,因此您需要將它們括在引號中(單引號或雙引號),並從$d刪除空格

$d=trim($_GET["userid"]);
$sql_rank="SELECT * FROM `tmp` WHERE DID ='".$d."'";

還請嘗試使用mysqliPDO而不是mysql因為不建議使用mysql_ *函數

$d=trim($_GET["userid"]);
$sql_rank="SELECT * FROM `tmp` WHERE ID ='".$d."'";

您的代碼是這樣的: $d=$_GET["userid"];

$sql_rank="SELECT * FROM `tmp` WHERE DID ='".$d."'";

非DID使用ID

嘗試這個:

 $sql_rank="SELECT * FROM `tmp` WHERE DID =".$d."";
 $r=mysql_query($sql_rank,$My_Connection);
 $rank = mysql_fetch_row($r);

這將為您提供行數組,以便您可以像echo $rank[0];一樣進行獲取echo $rank[0];

坦克到gaurav kumar,這是正確的代碼:D

$sql_rank="SELECT * FROM `tmp` WHERE DID LIKE ".$d."";
$res=mysql_query($sql_rank,$My_Connection);
$r=mysql_fetch_assoc($res);
$rank= $r;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM