Php 查询数组中的输出值

Php 查询数组中的输出值,php,mysql,Php,Mysql,我很难理解为什么有时候我的查询返回值,有时候它得到其他东西,指针 我想关于变量我缺少一个概念 $sql = "SELECT customerData.studFirstName, customerData.studLastName, customerData.custPhone, customerData.studPhone, classRoll.courseNumber, classRoll.payFull, classRoll

我很难理解为什么有时候我的查询返回值,有时候它得到其他东西,指针

我想关于变量我缺少一个概念

$sql = "SELECT 
    customerData.studFirstName,
    customerData.studLastName, 
    customerData.custPhone,
    customerData.studPhone, 
    classRoll.courseNumber, 
    classRoll.payFull, 
    classRoll.payAmount
FROM classRoll, customerData
WHERE classRoll.custId = customerData.custId
AND classRoll.courseNumber =  '".$_REQUEST['cnum']."'
ORDER BY customerData.studLastName;";

$result = $conn->query("SELECT COUNT(*) AS count FROM classRoll");
while ($row= $result->fetch_assoc()){
    $output[]=$row[studLastName].", ".$row[studFirstName];
};
var_dump($output);
?>
查询在phpadmin中工作,但是我得到了这个

array(1) { [0]=> string(2) ", " }
我不想要一个像理解一样糟糕的解决方案。非常感谢您的指导。

  • 如果您得到的是单个值,则不需要将其放入
    while循环中

  • 其次
    $output[]=$row[studLastName]。”,“$row[studFirstName]这些键不存在,因为您正在查询计数

  • 您没有使用
    $sql

您只需获取结果并使用它,请参见下面的示例:-

$result = $conn->query("SELECT COUNT(*) AS count FROM classRoll");
$row = $result->fetch_row();
echo $row[0];
但是,我想您可能想使用
$sql
,因为代码看起来很好

$result = $conn->query($sql);
while ($row= $result->fetch_assoc()){
    $output[]=$row['studLastName'].", ".$row['studFirstName'];
}
var_dump($output);

我在这里改变了很多,我错过了。我不能说我理解得更好,但这很有效。谢谢。
$result->fetch_row()
将返回数组和索引,从0开始到列数-1
$result->fetch_assoc()
将返回以列名作为索引的数组。这有意义吗?我建议您使用[PHP Mannual](),我想我明白了。我会继续翻查文档。只是有点重。