PHP:SQL为非空字段返回空单元格

PHP:SQL为非空字段返回空单元格,php,sql,join,left-join,Php,Sql,Join,Left Join,我在mySQL数据库上调用一个简单的JOIN SQL。从PHP脚本调用的确切查询是: SELECT * FROM weighteventtest LEFT JOIN commenttest ON weighteventtest.eventid=commenttest.eventid ORDER BY weighteventtest.eventid DESC 当我直接在phpMyAdmin中运行sql查询时,我会得到一个包含所有值的正常结果集。但是,当通过PHP调用脚本时,几乎所有行的“

我在mySQL数据库上调用一个简单的JOIN SQL。从PHP脚本调用的确切查询是:

SELECT * 
FROM weighteventtest 
LEFT JOIN commenttest ON weighteventtest.eventid=commenttest.eventid 
ORDER BY weighteventtest.eventid DESC 
当我直接在phpMyAdmin中运行sql查询时,我会得到一个包含所有值的正常结果集。但是,当通过PHP调用脚本时,几乎所有行的“
eventid
”字段都为空或null。当我回显每行的值时,除了主键“
eventid
”之外,所有字段都有一个值,该主键为空,除了在联接表上有匹配项的行

有什么想法吗? 谢谢
威尔。

罪魁祸首是将SELECT*与PHP相结合。因为在按名称(eventid)访问列时,输出中有两个eventid字段(每个表中有一个),所以会错误地找到第二个字段(缺少右侧记录中的空字段)


要解决此问题,请在选择后显式指定所需的列。在任何情况下,在生产代码中使用SELECT*通常都被认为是一种不好的做法。

如果您加入使用(eventid),它可能会解决问题。当您有两个表具有相同的键时,这是一种更简洁的语法。您使用的语法可能不会对结果集中的列列表产生任何影响(即使假设用户的DB支持使用-他没有指定他正在使用的产品)。这听起来可能会解决我的问题。。。现在将修改字段并尽快通知您…是的,这就解决了问题。非常感谢你,拉里·卢斯蒂格!堆栈溢出再次节省了时间。你们真了不起!