繁体   English   中英

从 php 数组中的 sql 查询中删除数据

[英]removing data from sql query in array in php

对不起,如果我的标题不好。

我的问题是来自 sql 查询的数组中的数据。

我的 sql 查询:

$num = mysql_query("SELECT `id_product_attribute`,`id_product`,`reference` FROM `ps_product_attribute`")

我用这个代码检索数据:

$nameArray = array();

while($row = mysql_fetch_array($num)) {
    $nameArray[] = $row;   
}

echo '<pre>';
print_r($nameArray);
echo '</pre>';

输出如下所示:

    Array
(
    [0] => Array
        (
            [0] => 45
            [id_product_attribute] => 45
            [1] => 10640
            [id_product] => 10640
            [2] => 1041-0567041700116
            [reference] => 1041-0567041700116
        )

    [1] => Array
        (
            [0] => 46
            [id_product_attribute] => 46
            [1] => 10640
            [id_product] => 10640
            [2] => 1041-0567041700318
            [reference] => 1041-0567041700318
        ) etc.

但我想要这样的输出:

Array
(
    [0] => Array
        (
            [0] => 45
            [1] => 10640
            [2] => 1041-0567041700116
        )

    [1] => Array
        (
            [0] => 46
            [1] => 10640
            [2] => 1041-0567041700318
        ) etc.

我需要在我的代码中更改什么才能实现这一目标?

如果我使用fetch_assoc那么我会得到相反的结果。

您需要指定结果的类型,否则您将同时获得:

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    ...
}

此外,您真的应该切换到另一个适配器(PDO、mysqli 等)。

mysql_fetch_array接受可选的第二个参数。

像这样:

array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )

传递常量MYSQL_NUM以获得您想要的结果。

http://ca1.php.net/manual/en/function.mysql-fetch-row.php

除了特定的功能,你真的应该切换到mysqli_ classes & function,因为所有的mysql_功能都设置为在未来的某个时候被删除。 它们还有其他优点,但如果您只是将它们用作直接替代品,则没有那么多优点。

用 :

$nameArray = array();

while($row = mysql_fetch_array($num, MYSQL_NUM)) {
    $nameArray[] = $row;   
}

echo '<pre>';
print_r($nameArray);
echo '</pre>';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM