PHP MySQL 混淆

标签 php mysql

我是 PHP 的新手,不了解与 mysql 的交互,尤其是运行后的查询。这是我的代码:

$mysqli = new mysqli('localhost', 'foo', 'bar', 'table');
    if ($mysqli->connect_error) {
        die('Connect Error (' . $mysqli->connect_errno . ') '. $mysqli->connect_error);
    }

    $sql = "select column_name from information_schema.columns where table_name='activity'";
    if ($execute = $mysqli->query($sql)) {
        $result = mysqli_fetch_array($execute);//trying an array
        $row_count = count($result);
    }
    for ($i=0; $i < $row_count; $i++) { 
        echo $i . ' ' . $result['column_name'] . '<br>';
    }

当我这样运行它时,我得到了这个输出:

0 i
1 d

怎么回事?
当我在数据库上运行相同的查询时,我得到了这个:

column_name
___________
id
name
description
score
quality_id
date_mod

这正是我想要的,但在 php 中。
我也试过这个:

for ($i=0; $i < $row_count; $i++) { 
    echo mysql_result($execute, $i, 'column_name');
}

我明白了

mysql_result() expects parameter 1 to be resource

我没有得到什么?

有什么方法可以使数据库交互更容易吗?

最佳答案

调用 mysqli_fetch_array 为您提供结果集的第一行作为数组,它不会为您提供数组中的所有结果。

如果你想得到所有的结果,你必须这样做:

$i = 0;
While ($result = mysqli_fetch_array($execute))
{
  echo $i . ' ' . $result['column_name'] . '<br>';
  $i++;
}

顺便问一下,你确定你在回应 $result['column_name'] 吗?从结果来看,您似乎正在使用 $result[$i]

关于PHP MySQL 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765145/

相关文章:

php - 重定向前回显 Javascript 警报,usleep(2000000)? - PHP 代码点火器

替换字符串中的字符代码 8217 时出现 PHP 意外输出

php - 在提交表单之前重新加载页面

php - 如何检测 Android 应用程序的卸载并从服务器中删除相关用户的数据?

mysql - 如何将这两个查询合并在一起?

php - HTML5 Canvas filltext 和 font-face

php - 如何从 PHP 中的 lorem Ipsum 获取随机文本?

python - 如何在Python中声明sql查询

mysql - 为什么mysql select varchar类型很慢

mysql - DROP SCHEMA 后留下的旧表碎片