如何将mysql子字符串的选定值存储到php变量中?

如何将mysql子字符串的选定值存储到php变量中?,php,mysql,Php,Mysql,我尝试了不同的解决方案: 第一: 及 第二: SELECT DISTINCT SUBSTRING(EVENTNAAME, 1, 1) FROM EVENTS WHERE DATE >= CURDATE() 两者都在phpMyAdmin中工作,但在我的php文件中,结果是空的,因为它不能存储到变量中 我已经这样做了: while ( $row = mysqli_fetch_object ( $result) ) { $title = $row->EVENTNAME; }

我尝试了不同的解决方案: 第一:

第二:

SELECT DISTINCT SUBSTRING(EVENTNAAME, 1, 1) FROM EVENTS WHERE DATE >= CURDATE()
两者都在phpMyAdmin中工作,但在我的php文件中,结果是空的,因为它不能存储到变量中

我已经这样做了:

while ( $row = mysqli_fetch_object ( $result) ) {
     $title = $row->EVENTNAME;
}
var_dump delievers:

object(stdClass)#3 (1) { ["LEFT(EVENTNAME, 1)"]=> string(1) "S" }
但是变量是空的。如果我选择不带子字符串或左键,则事件的名称将完全显示

但我只想显示eventname的第一个字符,并将其用作标题。因此我使用distinct,因为如果有多个事件具有相同的第一个字母,那么它只提供一个结果

但这不是我的问题。我的问题是如何将其存储到php变量中,如果不使用事件全名的left或substring,为什么它可以工作

很抱歉英语不好,我希望你能帮忙。

用作:

SELECT DISTINCT LEFT(EVENTNAME, 1) AS EVENTNAME FROM EVENTS WHERE DATE >= CURDATE()

您需要为字段名添加别名。在查询中应用公式或以其他方式创建字段的“派生”值后,字段的名称不是php在获取行时所看到的名称,例如:

SELECT foo, AVG(foo), SUM(foo), ...
(不是真的,只是举例)会产生

在结果行中

如果为字段别名,则可以完全控制字段名称在结果中的显示方式:

SELECT foo, AVG(foo) AS argle, SUM(foo) AS bargle
                     ^^^^^^^^           ^^^^^^^^^
$row['foo'], $row['argle'], $row['bargle']

你面临的错误是什么?
$row['foo'], $row['AVG(foo)'], $row['SUM(foo)']
SELECT foo, AVG(foo) AS argle, SUM(foo) AS bargle
                     ^^^^^^^^           ^^^^^^^^^
$row['foo'], $row['argle'], $row['bargle']