Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli_fetch_assoc()不返回任何内容_Php_Mysql_Row - Fatal编程技术网

Php mysqli_fetch_assoc()不返回任何内容

Php mysqli_fetch_assoc()不返回任何内容,php,mysql,row,Php,Mysql,Row,这不是我第一次使用mysqli\u fetch\u assoc()获取行的特定列。出于某种原因,我不明白为什么这次它不起作用。这是我的密码: $sql = "SELECT * FROM database.table WHERE PushNumber > 0"; $result = $conn->query($sql); if($result->num_rows > 0) { while($row = mysqli_fetch_array($result))

这不是我第一次使用
mysqli\u fetch\u assoc()
获取行的特定列。出于某种原因,我不明白为什么这次它不起作用。这是我的密码:

$sql    = "SELECT * FROM database.table WHERE PushNumber > 0";
$result = $conn->query($sql);

if($result->num_rows > 0) {
    while($row = mysqli_fetch_array($result)) {
        // This will loop through each row, now use your loop here
        $row = mysqli_fetch_assoc($result);
        $pushNumber = $row['PushNumber'];
        $followingIDs = $row['FollowingIDs'];
        $usernameID = $row['Username'];
        error_log("'$pushNumber", 0);
        error_log("'$usernameID", 0);
    }
}

在我的表中有一行,
PushNumber
大于
0
$PushNumber
(类型:
int
)和
$usernameID
(类型:
string
)在错误日志中被打印出来,它们都被打印为:
'
,我不知道为什么!没有拼写错误,我知道一个事实是,行
PushNumber
等于
1
Username
等于
@yo
。任何建议都将不胜感激,请帮助。谢谢大家!

您似乎将两组完全不同的值赋给了$row变量

$row=mysqli\u fetch\u array($result)
将整个数组传输到$row中,但在循环中,您使用
$row=mysqli\u fetch\u assoc($result)
将单个记录传输到$row中,这很可能会导致循环中断

试试这个:

if($result->num_rows > 0) 
{
    while($row = mysqli_fetch_assoc($result)) 
    {
        // This will loop through each row, now capture each row's data here
        $pushNumber = $row['PushNumber'];
        $followingIDs = $row['FollowingIDs'];
        $usernameID = $row['Username'];
        error_log($pushNumber, 0);
        error_log($usernameID, 0);
    }
}

您似乎在$row变量中指定了两组完全不同的值

$row=mysqli\u fetch\u array($result)
将整个数组传输到$row中,但在循环中,您使用
$row=mysqli\u fetch\u assoc($result)
将单个记录传输到$row中,这很可能会导致循环中断

试试这个:

if($result->num_rows > 0) 
{
    while($row = mysqli_fetch_assoc($result)) 
    {
        // This will loop through each row, now capture each row's data here
        $pushNumber = $row['PushNumber'];
        $followingIDs = $row['FollowingIDs'];
        $usernameID = $row['Username'];
        error_log($pushNumber, 0);
        error_log($usernameID, 0);
    }
}

没有足够的信息得出正确的结论;但是,这可能会有所帮助:检查执行过程中的错误。为什么不发布准确的代码呢。这是无效的代码。例如错误日志(“$pushNumber”,0);POD会产生语法错误吗?这是一个精确的代码,它不会在我这边抛出这样的错误吗?你在循环中
mysqli\u fetch\u array()
,然后立即
mysqli\u fetch\u assoc()
。因此,您获取一行,然后覆盖
$row
获取另一行。所以只能得到偶数行。在一行的情况下,您没有为
分配任何信息。没有足够的信息得出任何正确的结论;但是,这可能会有所帮助:检查执行过程中的错误。为什么不发布准确的代码呢。这是无效的代码。例如错误日志(“$pushNumber”,0);POD会产生语法错误吗?这是一个精确的代码,它不会在我这边抛出这样的错误吗?你在循环中
mysqli\u fetch\u array()
,然后立即
mysqli\u fetch\u assoc()
。因此,您获取一行,然后覆盖
$row
获取另一行。所以只能得到偶数行。在一行的情况下,
没有分配任何内容。