如何使用MySQL和PHP打印单个单元格的值


How to print the value of a single cell using MySQL and PHP?

这将返回一个空白页面:

<?php
$con=mysqli_connect("xxx.x.xx.x","user","password","db");
// check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$result = mysqli_query($con,"SELECT column FROM table WHERE id=1");
print $result;
mysqli_close($con);
?>

这会返回数据:

<?php
$con=mysqli_connect("xxx.x.xx.x","user","password","db");
// check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$result = mysqli_query($con,"SELECT * FROM table");
while($row = mysqli_fetch_array($result))
  {
  echo $row['column_1'] . " " . $row['column_2'];
  echo "<br>";
  }
mysqli_close($con);
?>

阻止它返回任何数据的第一个代码块出了什么问题?

http://php.net/manual/en/mysqli.query.php

告诉我mysqli_query返回一个mysqli_query对象。不是像字符串或int.那样的基元值

确切的说法是:

失败时返回FALSE。对于成功的SELECT、SHOW、DESCRIBE或EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询mysqli_query()将返回TRUE。

因此,第一块不工作,因为第一块假定column中的值被自动返回。

事实上,如果您使用相同的SELECT column from table where id=1,您仍然必须使用while循环来提取值,因为它仍然是您要返回的mysqli_result对象。

while循环的意思是:

while($row = mysqli_fetch_array($result))
{
  echo $row['column_1'];
  echo "<br>";
}

我希望这能回答你的问题。