Php 如果我知道MySQL中同一行中其他列的值,如何获取列的值?

Php 如果我知道MySQL中同一行中其他列的值,如何获取列的值?,php,mysql,sql,database,wordpress,Php,Mysql,Sql,Database,Wordpress,我必须使用我已经知道的同一行中的其他列数据来检索列数据 桌子 表名称:固定装置 fix_id | fix_against 1837 | Aus Vs. Eng 2942 | Ind Vs. SA 在这里,我已经知道“修复id”。。因此,我需要使用同一行中的“fix\u id”检索“fix\u-country”值 假设,如果fix\u id=1837,我将检索Aus v.S Eng(fix\u反对)值 这是我试过的 global $wpdb; $known_value = 1837; $

我必须使用我已经知道的同一行中的其他列数据来检索列数据

桌子

表名称:固定装置

fix_id | fix_against
1837 |  Aus Vs. Eng
2942 |  Ind Vs. SA
在这里,我已经知道“修复id”。。因此,我需要使用同一行中的“fix\u id”检索“fix\u-country”值

假设,如果fix\u id=1837,我将检索Aus v.S Eng(fix\u反对)值

这是我试过的

global $wpdb; $known_value = 1837;
  $sql = $wpdb->prepare( "SELECT fix_against FROM fixtures WHERE fix_id = '$known_value'");
$result = $wpdb->get_results( $sql );echo $result;

这显然不起作用。如有任何建议,我们将不胜感激。

您的查询是正确的。你的问题是:

$result = $wpdb->get_results( $sql );
echo $result;
默认情况下,
$wpdb->get_results
返回一个对象数组。在您的情况下,类似于
$result[0]->fix\u的方法可以工作。然而,若您只需要一个单元格的值,那个么最好使用

如果只需要一行,可以使用


您可以了解有关
wpdb
类的更多信息

这显然不起作用
。。。什么不起作用?理想情况下,您应该使用准备好的语句,但我认为您的查询是正确的。我不是SQL专家,但请尝试使用此DB-API 2.0命令来检索数据:
SELECT*FROM fixtures,其中fix\u id=2942
…顺便说一句,你的
修复id
是整数类型,那么你为什么在那里使用引号呢?请尝试以下代码:
“从fixture中选择*,其中fix\u id=$known\u value”
引号仅表示字符串类型数据。或者,语句后面的分号可能是错误的?示例:
从装置中选择*;其中fix_id=$known_值@s3n0感谢您的投入。我尝试了所有这些建议,但仍然不起作用。。它正在返回“Array”。请尝试使用
echo
(PHP)检查DB API命令。可能有必要将变量用作字符串(在API命令字符串中)。您的
$sql
不是字符串,但插入了一个对象,我认为这是错误的。同样的事情,Ygor Yavych在下一个答案中指出。尝试将纯
$sql
字符串仅与DB API 2.0命令一起使用,以查看其是否有效。不要忘记使用
echo
命令(PHP)或至少使用调试控制台来查找原因,并检查是否发送了正确的DB API命令。
$fix_against = $wpdb->get_var($sql);
echo $fix_against;
$result= $wpdb->get_row($sql);
echo $result->fix_against;