【问题标题】:Reading from a database with PHP使用 PHP 从数据库中读取
【发布时间】:2013-08-17 04:01:58
【问题描述】:

我正在尝试从数据库中提取一些信息,并且连接正常,但由于某种原因它无法识别我的查询,即使我使用 SQL 确认了数据库中的查询并让它“生成 PHP代码”。 echo 语句将变为空白。这是一个 mySQL 数据库。感谢您的帮助。

$query = "SELECT `contact` FROM `contactinfo` WHERE member=\'Henry\'";
$contact = mysqli_query($db,$query);
echo $contact;

【问题讨论】:

  • 试试var_dump($contact)mysqli_query() 返回一个对象。在您的情况下,它可能返回 false,这意味着您的查询失败。
  • 你不需要转义Henry周围的那些单引号。
  • \' 在双引号内 (") 给你\' 当你只想要'...但尝试找到有关 MySQLi 或 PDO 准备语句和绑定变量的教程跨度>
  • 当我取消单引号时,会显示:可捕获的致命错误:无法将类 mysqli_result 的对象转换为字符串
  • $contact 变量包含布尔值(即truefalse)或mysqli_result 对象。如果页面上没有出现任何内容,则可能是false...true 会在页面上显示1,并且回显mysqli_result 对象会显示错误。

标签: php mysql database


【解决方案1】:

$contact 包含 MySQL 结果对象,您需要从中获取数据才能在应用程序中使用它。

$query   = "SELECT `contact` FROM `contactinfo` WHERE member = 'Henry'";
$contact = mysqli_query($db, $query);
while ($row = mysqli_fetch_row($contact)) {
  echo $row[0]; // 0 to n indicates the Column(s) Selected in SELECT Query
}

【讨论】:

  • 太棒了,谢谢!所以任何时候你从数据库中读取它都会作为一个对象读取,你必须从中提取实际数据?
  • @Henry 是的,它始终是一个对象,您必须从中获取数据。有多种方法可以做到这一点。上面是取数组格式的数据,你也可以把它当作一个对象来取。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-08-26
相关资源
最近更新 更多