首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP和mysql,选择查询返回null。

PHP和mysql,选择查询返回null。
EN

Stack Overflow用户
提问于 2014-12-31 11:15:42
回答 4查看 140关注 0票数 0

这是PHP代码:

代码语言:javascript
复制
<?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表成功,但“选择查询”返回me null!实际上$r是空,我尝试了(类似&=),但结果相同

这个查询有什么问题?

编辑:

我甚至将查询更改为:

代码语言:javascript
复制
$sql_rank="SELECT * FROM tmp WHERE DID=352136069213581" 

而不再工作:

油箱

编辑:正确答案:

坦克到gaurav kumar这是正确的代码:D

代码语言:javascript
复制
$sql_rank="SELECT * FROM `tmp` WHERE DID LIKE ".$d."";
$res=mysql_query($sql_rank,$My_Connection);
$r=mysql_fetch_assoc($res);
$rank= $r;
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-31 11:34:40

坦克到gaurav kumar这是正确的代码:D

代码语言:javascript
复制
$sql_rank="SELECT * FROM `tmp` WHERE DID LIKE ".$d."";
$res=mysql_query($sql_rank,$My_Connection);
$r=mysql_fetch_assoc($res);
$rank= $r;
票数 0
EN

Stack Overflow用户

发布于 2014-12-31 11:18:37

$d可能是一个string.So,您需要将它们括在引号(单引号或双引号)中,也可以从$d中修剪空格。

代码语言:javascript
复制
$d=trim($_GET["userid"]);
$sql_rank="SELECT * FROM `tmp` WHERE DID ='".$d."'";

也尝试使用mysqliPDO而不是mysql,因为 functions are deprecated

票数 1
EN

Stack Overflow用户

发布于 2014-12-31 11:21:12

代码语言:javascript
复制
$d=trim($_GET["userid"]);
$sql_rank="SELECT * FROM `tmp` WHERE ID ='".$d."'";

您的代码是这样的:$d=$_GET["userid"];

代码语言:javascript
复制
$sql_rank="SELECT * FROM `tmp` WHERE DID ='".$d."'";

没有使用ID

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27720334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档