2016-12-29 86 views
0

我想输出SQL查询的结果作为我的网站上的页面上的表。我在网上找到了一些解决方案,但我无法让他们中的任何一个正常工作。现在我复制并粘贴了一些代码来输出前两列,但我无法弄清楚如何获取表中的每一列。我是一般PHP新手和Web开发人员,所以我们将不胜感激。以表格的形式显示SQL查询的结果?

我的PHP:

<?php 
SESSION_START() ; 

$servername = "localhost"; 
$username = "MY USERNAME"; 
$password = "MY PASSSWORD"; 
$dbname = "MY DATABASE NAME"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

//$_session['userid'] = $userlogged; 

$sql = "SELECT * FROM `climbs` WHERE `userlogged` = '" . $_SESSION['userid']  . "'"; 
$result = mysqli_query($conn,$sql); 


if ($result->num_rows > 0) { 
    echo "<table><tr><th>ID</th><th>Name</th></tr>"; 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>" . $row["climb-id"]. "</td><td>" .  $row["climbname"]. " " . $row["cragname"]. "</td></tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 


mysqli_close($conn); 
?> 
+0

你只需要添加每列的代码。或者你是否想要自动找出所有列的方法? –

+0

您已经开放SQL注入。由于您使用的是mysqli,请利用[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[bind_param](http://php.net/手动/ EN/mysqli的-stmt.bind-param.php)。 – aynber

+0

至于列,只需明确添加每列的代码。您已经开始使用回声声明,只需继续进行回声即可。 – aynber

回答

0

检查用的var_dump:

一些这样的:

$result = mysqli_query($conn,$sql); 

var_dump($result); 

if ($result->num_rows > 0) { 

也许这是错的查询。

+0

查询很好,我把它排序。不管怎么说,还是要谢谢你 –