2013-10-05 91 views
7

我有一个MySQL SELECT Query,我想在PHP中回显。我将如何做到这一点?我已经尝试了PHP.net帮助中心列出的所有内容,但我不明白它,或者它不是我正在寻找的内容。PHP - Echo Result of MySQL SELECT Query

编辑:

$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = " . $gameId; 
$result = mysqli_query($mySqlConnection,$sql); 
var_dump($result); 
+2

你是不是想呼应查询,或者结果? –

+1

向我们显示您的代码。有很多变种。 – Yaroslav

+0

那么你的数据库是MySQL还是SQL Server - 使用正确的标签 –

回答

9

如果你想呼应你最好创建一个变量的查询的查询然后回显变量。

$sql = "SELECT * FROM TABLE"; 

echo $sql; 

如果你想看到结果,你可以使用var_dump();

$results = mysqli_query($sql); 
var_dump($results); 

在回答您的编辑:当出现错误 mysqli_query返回false。

使用此代码片段查看错误。

if (!$mysqli->query("SET @a:='this will not work'")) { 
    printf("Error: %s\n", $mysqli->error); 
    die(); 
} 

$results = mysqli_query($sql); 
var_dump($results); 

我得到这个从PHP手册:http://php.net/manual/en/mysqli.query.php

+0

我只是尝试使用var_dump,但它返回布尔(假),而不是它应该返回的2。 – user2850226

+0

发布你正在执行的代码片段,我将更好地回答你的问题。 –

+0

请在** Edit **标签下查看我添加到我的主帖中的代码。 – user2850226

0

你可能需要先打开你的MySQL服务器的连接。

$mysqli = new mysqli("localhost", "my_user", "my_password", "my_database"); 

if ($result = $mysqli->query("SELECT * FROM someTable")) { 
    var_dump($result); 
    $result->close(); 
} 

这需要PHP配置mysqli扩展名。

+0

我知道我已经做好了。我只是没有将它包含在我的代码中,因为我认为没有必要这样做。 – user2850226

+0

与您要查找的内容相比,您获得的输出是什么? – mushroom

+0

如果您的PHP安装不带有mysqli或PDO,现在是时候找到一个新的托管服务器了。 –

0

如果你var_dump $ result变量,它是一个mysqli结果对象。 如果您想要返回数据,您需要将结果传递给mysqli_fetch_函数。

+0

mysqli_fetch($ result);似乎也不起作用。每当我使用它时,什么都不会返回。 – user2850226

+0

mysqli_fetch_assoc($ result) –

+0

'mysqli_fetc_assoc($ result)'不返回任何结果。 – user2850226

4

使用mysqli是因为mysql很快就不存在。

与数据库连接:

$sqlHost = 'localhost'; 
$sqlUser = 'root'; 
$sqlPass = ''; 

$conn = new mysqli($sqlHost, $sqlUser, $sqlPass, 'db_name') ; 
if($conn->connect_errno){ 
    printf("Connect failed: %s\n", $conn->connect_error); 
    exit(); 
} 

要进行查询,并将其打印出来:

$result = $conn->query("SELECT * FROM someTable") 
     or trigger_error($conn->error); 
$row = $result->fetch_array(MYSQL_BOTH); 
echo $row['something']; // or echo $row[1] 

编辑

您的查询是错误的。 它应该是这样的

$sql = "SELECT gamePlayerCount FROM mpTicTacToe_gameData WHERE gameId = '" . $gameId ."'; 

你游戏ID

0

我使用列表功能之后忘记。示例代码:

while(list($id, $name, $email, $telephone, $age) = mysql_fetch_row($result)){ 
      echo "$id <br>"; 
      echo "$name <br>"; 
      echo "$email <br>"; 
      echo "$telephone <br>"; 
      echo "$age <br>"; 
     } 
+0

有几个反对意见。首先,一个小的,extract + fetch assoc将需要更少的写入。接下来,必须让你自己熟悉使用*模板*,永远不要,从来没有从PHP以这种方式回应数据,你在这里写的 –

+0

从单引号更新到dublle引用。回应这样的数据有什么不妥? – Julian

+0

只是读了一些模板。 –

-1
public function SELECT($tableName,$conditions){ 

     $connection = mysqli_connect($hostname, $userName, $password,$dbName); 
     try { 

     if (!$connection) 
      die("Connection failed: " . $connection->connect_error); 
     else 
     { 
      $qry = ""; 
      if(!$this->IsNullOrEmptyString($conditions)) 
       $qry = "SELECT * FROM `".$tableName."` WHERE ".$conditions; 
      else 
       $qry = "SELECT * FROM `".$tableName."`"; 

      $result = mysqli_query($connection, $qry); 
      if($result) { 
       $emparray = array(); 
       while($row =mysqli_fetch_assoc($result)) 
        $emparray[] = $row; 

       echo(json_encode($emparray));   
      } 
      else 
       echo(mysqli_error($connection));  
      } 
      mysqli_close($connection); 
     } catch(Exception $ex) { 
      mysqli_close($connection); 
      echo($ex->getMessage()); 
     } 
} 
+0

此功能将无法使用 –

+0

@YourCommonSense停止表现就像您没有常识并解释您的意思。 –