2016-11-08 167 views
1

这是我第一个SQL数据库。我已经能够成功连接到我的服务器和数据库。但是,当我使用查询从我的表格中的某一列中选择数据时,它将返回数字“1”。为什么是这样?从SQL数据库中选择数据返回“1”

<?php 

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "dbname"; 

$conn = mysqli_connect($servername, $username, $password, $dbname); 

if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT Item FROM Items"; 
$result = $conn->query($sql); 

echo "<h1>Connected successfully<h1>"; 
echo "<p class='lead'>" + $result + "</p>"; 

$conn->close(); 

?> 

这里的命名表的图像Items

enter image description here

这是在网页上,它应该echo内容在item列中显示的内容:

enter image description here

+0

这是SQL Server数据库还是MySQL数据库? – JesalynOlson

+3

从'mysqli :: query'页面:*“失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象,对于其他成功的查询,mysqli_query()将返回TRUE。”* – George

回答

2

你只是呼应整个对象等,而不是单独的行。你需要做这样的事情来遍历每一行。

if ($result = $conn->query($query)) { 

    /* fetch object array */ 
    while ($row = $result->fetch_row()) { 
     echo "<p class='lead'>" . $row[0] . "</p>"; 
    } 

    /* free result set */ 
    $result->close(); 
} 
1

这是因为两种不同的东西:

  1. 您正在尝试Concat的与+辛博尔字符串不与.辛博尔。
  2. 您的$result变量包含mysql_result,因为查询已执行。

如果你想回显你的数据,你必须使用$resultwhile loop

+0

mysqli :: query从SELECT查询成功返回时返回一个mysqli_result不正确。关于回显颜色的位来自哪里 - 查询选择项目列 - 如果您建议$ result包含true,则$ result [“Color”]将无效。 – PaulF

+0

你说得对,我已经编辑了答案,谢谢 –