Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 全局$wpdb显示垃圾数据以及我的select查询结果_Php_Mysql_Wordpress_Serialization - Fatal编程技术网

Php 全局$wpdb显示垃圾数据以及我的select查询结果

Php 全局$wpdb显示垃圾数据以及我的select查询结果,php,mysql,wordpress,serialization,Php,Mysql,Wordpress,Serialization,我在MySQL数据库中有一个自定义表,我正在尝试使用global$wpdb查询该表。我使用以下两个来源提供的信息定义了我的查询: 这是数据在phpMyAdmin中的方式: 当查询从我的自定义表中选择数据时,它似乎工作得很好,但是输出除了表中可用的信息之外,似乎还包含垃圾/不必要的信息 我希望它以表格的形式显示/类似于它在phpMyAdmin中的显示方式,我可以将SrNo、component等与表格中的其他列相关联: add_shortcode('wpse_233031_shortcode'

我在MySQL数据库中有一个自定义表,我正在尝试使用
global$wpdb
查询该表。我使用以下两个来源提供的信息定义了我的查询:

  • 这是数据在phpMyAdmin中的方式:

    当查询从我的自定义表中选择数据时,它似乎工作得很好,但是输出除了表中可用的信息之外,似乎还包含垃圾/不必要的信息

    我希望它以表格的形式显示/类似于它在phpMyAdmin中的显示方式,我可以将SrNocomponent等与表格中的其他列相关联:

    add_shortcode('wpse_233031_shortcode', function(){
        global $wpdb;
        $myrows = $wpdb->get_results( "SELECT `SrNo`, `Compound` FROM PNaphtha");
        //$results = $wpdb->get_results( "SELECT `SrNo`, `Compound` FROM PNaphtha" );
        ob_start();
        echo var_dump($myrows );
        //return ob_get_clean(); 
    });
    
    我得到以下结果

    虽然我查询的所有信息都可以在这里找到,但也有很多不必要的信息

    我尝试了以下更改,但似乎没有一个有效

    $myrows = $wpdb->get_row( "SELECT `SrNo`, `Compound` FROM PNaphtha"); // get_row
    
    output_type changed to ARRAY_A, ARRAY_N, OBJECT_K
    
    echo var_dump changed to echo array
    

    如果您能建议如何将结果格式化为表格或数组,我将不胜感激。此外,我还将上述代码放在主题的
    functions.php
    文件中。有更好的方法吗?

    可能是因为您使用的是var\u dump

    var\u dump
    函数显示有关变量/表达式的结构化信息,包括其类型和值

    我建议使用print\r

    print_r()以人类可读的方式显示有关变量的信息。数组值将以显示键和元素的格式显示

    如果你改变了,你应该能够看到改变

    var_dump($myrows )
    

    以下是我如何做到你想要的(没有重复结果):

    $sql = "SELECT `Srno`,`compound` FROM `pnaphtha`";
    $result = $conn->query($sql);
    
    echo "<table>";
    while($row = $result->fetch_assoc()) {
            echo "<tr><td>".$row['Srno']."</td><td>".$row['compound']."</td></tr>";
        }
    
     echo "</table>";
    
    $sql=“从'pnaphtha`'中选择'Srno`,'component`”;
    $result=$conn->query($sql);
    回声“;
    而($row=$result->fetch_assoc()){
    回显“$row['Srno']”。$row['component']”;
    }
    回声“;
    
    然而,由于您使用的是WordPress,我怀疑它可能与

    global $wpdb;
    $sql =  "SELECT `SrNo`, `Compound` FROM PNaphtha";
    //you may need to add ARRAY_A
    
    $myrows = $wpdb->get_results($sql);
    
    echo "<table>";
    while($myrows = $result->fetch_assoc()) {
        echo "<tr><td>".$myrows['SrNo']."</td><td>".$myrows['Compound']."</td></tr>";
    }
    echo "</table>";
    
    global$wpdb;
    $sql=“从pnaphta中选择'SrNo','component'”;
    //您可能需要添加一个数组
    $myrows=$wpdb->get_结果($sql);
    回声“;
    而($myrows=$result->fetch_assoc()){
    回显“$myrows['SrNo']”。$myrows['component']”;
    }
    回声“;
    

    我无法实际测试wordpress版本,因为我懒得设置wordpress安装哈哈

    这可能是因为您使用的是var_dump

    var\u dump
    函数显示有关变量/表达式的结构化信息,包括其类型和值

    我建议使用print\r

    print_r()以人类可读的方式显示有关变量的信息。数组值将以显示键和元素的格式显示

    如果你改变了,你应该能够看到改变

    var_dump($myrows )
    

    以下是我如何做到你想要的(没有重复结果):

    $sql = "SELECT `Srno`,`compound` FROM `pnaphtha`";
    $result = $conn->query($sql);
    
    echo "<table>";
    while($row = $result->fetch_assoc()) {
            echo "<tr><td>".$row['Srno']."</td><td>".$row['compound']."</td></tr>";
        }
    
     echo "</table>";
    
    $sql=“从'pnaphtha`'中选择'Srno`,'component`”;
    $result=$conn->query($sql);
    回声“;
    而($row=$result->fetch_assoc()){
    回显“$row['Srno']”。$row['component']”;
    }
    回声“;
    
    然而,由于您使用的是WordPress,我怀疑它可能与

    global $wpdb;
    $sql =  "SELECT `SrNo`, `Compound` FROM PNaphtha";
    //you may need to add ARRAY_A
    
    $myrows = $wpdb->get_results($sql);
    
    echo "<table>";
    while($myrows = $result->fetch_assoc()) {
        echo "<tr><td>".$myrows['SrNo']."</td><td>".$myrows['Compound']."</td></tr>";
    }
    echo "</table>";
    
    global$wpdb;
    $sql=“从pnaphta中选择'SrNo','component'”;
    //您可能需要添加一个数组
    $myrows=$wpdb->get_结果($sql);
    回声“;
    而($myrows=$result->fetch_assoc()){
    回显“$myrows['SrNo']”。$myrows['component']”;
    }
    回声“;
    

    我无法实际测试wordpress版本,因为我不想费心设置wordpress安装哈哈,所以,您将对象作为输出,这就是为什么您会看到其中的信息。进行以下更改。将“ARRAY_A”(关联数组)添加到函数调用的末尾

    $wpdb->get_results( "SELECT `SrNo`, `Compound` FROM PNaphtha", ARRAY_A);
    

    这将防止查询作为对象返回,并且
    var\u dump
    将以您期望的方式显示。

    因此,您将对象作为输出,这就是您在其中看到信息的原因。进行以下更改。将“ARRAY_A”(关联数组)添加到函数调用的末尾

    $wpdb->get_results( "SELECT `SrNo`, `Compound` FROM PNaphtha", ARRAY_A);
    

    这将使您的查询不会作为对象返回,并且您的
    var\u dump
    将以您期望的方式显示。

    您的某个字段中是否有序列化数据?这是什么垃圾?这就是PHP显示嵌套数据和对象的方式。感谢您的回复。不,我没有序列化数据。我添加了一个显示在phpMyAdmin中的数据截图,该代码属于您的functions.php(除非您制作了插件),所以在这里很好。您是否尝试了
    echo''。打印($myrows,TRUE)。”?谢谢你的帮助。你的建议有点不同,它显示结果时有点“整洁”,就像在新行中一样,给人一种子弹一样的感觉,但是“垃圾”仍然在那里。你的某个字段中有序列化数据吗?这是什么垃圾?这就是PHP显示嵌套数据和对象的方式。感谢您的回复。不,我没有序列化数据。我添加了一个显示在phpMyAdmin中的数据截图,该代码属于您的functions.php(除非您制作了插件),所以在这里很好。您是否尝试了
    echo''。打印($myrows,TRUE)。”?谢谢你的帮助。你的建议有点不同,它显示结果有点“整齐”,就像在新行中一样,给人一种子弹般的感觉,但“垃圾”仍然在那里。谢谢你的建议。我尝试更改为print_r($myrows),但现在它只显示Array()1。很抱歉,Elliot,在测试您的建议时,我的部分代码被注释了。打印似乎有帮助,但我仍然得到数组([0]=>2[1]=>枞酸)[1]=>数组([0]=>3[1]=>苊)[2]=>数组([0]=>4[1]=>acetal)[3]=>数组([0]=>5[1]=>acetalde)[4]=>