Php 打印数组元素时未定义的偏移量

Php 打印数组元素时未定义的偏移量,php,mysql,Php,Mysql,我有以下代码: $items_query = mysql_query('SELECT * FROM Items_Orders NATURAL JOIN Items WHERE order_id="'.$order->order_id.'"'); if(!$items_query) { echo 'MySQL error: '.mysql_error(); die();

我有以下代码:

$items_query = mysql_query('SELECT * FROM Items_Orders NATURAL JOIN Items
                                    WHERE order_id="'.$order->order_id.'"');

    if(!$items_query)
    {
        echo 'MySQL error: '.mysql_error();
        die();
    }

    //add each item to the order
    while($items_row = mysql_fetch_array($items_query))
    {
        echo "item: ";

        for($i = 0; $i < count($items_row); $i++)
        {
            echo $items_row[$i];
        }   
    }
$items\u query=mysql\u query('SELECT*FROM items\u Orders-NATURAL JOIN items
其中order_id=“”.$order->order_id.”);
如果(!$items\u查询)
{
echo'MySQL error:'.MySQL_error();
模具();
}
//将每个项目添加到订单中
而($items\u row=mysql\u fetch\u数组($items\u query))
{
回声“项目:”;
对于($i=0;$i

当items_行的元素被打印时,我的代码迭代超出items行的边界。我不明白为什么会这样。我显式地定义I,使其仅迭代到items\u行的大小。这是怎么回事?

您正在计算双倍长度,因为默认情况下,您将获得一个编号的值。试试下面的方法

while($items_row = mysql_fetch_array($items_query, MYSQL_NUM))
{
    echo "item: ";

    for($i = 0; $i < count($items_row); $i++)
    {
        echo $items_row[$i];
    }   
}
while($items\u row=mysql\u fetch\u array($items\u query,mysql\u NUM))
{
回声“项目:”;
对于($i=0;$i


p.S.mysql_*已被弃用,请查看PDO对象。

您正在计算双倍长度,因为默认情况下,您将获得一个编号的值。试试下面的方法

while($items_row = mysql_fetch_array($items_query, MYSQL_NUM))
{
    echo "item: ";

    for($i = 0; $i < count($items_row); $i++)
    {
        echo $items_row[$i];
    }   
}
while($items\u row=mysql\u fetch\u array($items\u query,mysql\u NUM))
{
回声“项目:”;
对于($i=0;$i


p.S.mysql_*已被弃用,请查看PDO对象。

您正在计算双倍长度,因为默认情况下,您将获得一个编号的值。试试下面的方法

while($items_row = mysql_fetch_array($items_query, MYSQL_NUM))
{
    echo "item: ";

    for($i = 0; $i < count($items_row); $i++)
    {
        echo $items_row[$i];
    }   
}
while($items\u row=mysql\u fetch\u array($items\u query,mysql\u NUM))
{
回声“项目:”;
对于($i=0;$i


p.S.mysql_*已被弃用,请查看PDO对象。

您正在计算双倍长度,因为默认情况下,您将获得一个编号的值。试试下面的方法

while($items_row = mysql_fetch_array($items_query, MYSQL_NUM))
{
    echo "item: ";

    for($i = 0; $i < count($items_row); $i++)
    {
        echo $items_row[$i];
    }   
}
while($items\u row=mysql\u fetch\u array($items\u query,mysql\u NUM))
{
回声“项目:”;
对于($i=0;$i

不推荐使用mysql,请查看PDO对象。

尝试以下方法:

while($row = mysql_fetch_array($query,MYSQL_NUM)){
   $count = count($row);
   for($i = 0;$i < $count;$i++){
       echo $row[$i];
   }
}
while($row=mysql\u fetch\u数组($query,mysql\u NUM)){
$count=计数($row);
对于($i=0;$i<$count;$i++){
echo$行[$i];
}
}
但是您的代码非常脏,为什么不使用PDO?是如何进行转义查询的快速方法

试试这个:

while($row = mysql_fetch_array($query,MYSQL_NUM)){
   $count = count($row);
   for($i = 0;$i < $count;$i++){
       echo $row[$i];
   }
}
while($row=mysql\u fetch\u数组($query,mysql\u NUM)){
$count=计数($row);
对于($i=0;$i<$count;$i++){
echo$行[$i];
}
}
但是您的代码非常脏,为什么不使用PDO?是如何进行转义查询的快速方法

试试这个:

while($row = mysql_fetch_array($query,MYSQL_NUM)){
   $count = count($row);
   for($i = 0;$i < $count;$i++){
       echo $row[$i];
   }
}
while($row=mysql\u fetch\u数组($query,mysql\u NUM)){
$count=计数($row);
对于($i=0;$i<$count;$i++){
echo$行[$i];
}
}
但是您的代码非常脏,为什么不使用PDO?是如何进行转义查询的快速方法

试试这个:

while($row = mysql_fetch_array($query,MYSQL_NUM)){
   $count = count($row);
   for($i = 0;$i < $count;$i++){
       echo $row[$i];
   }
}
while($row=mysql\u fetch\u数组($query,mysql\u NUM)){
$count=计数($row);
对于($i=0;$i<$count;$i++){
echo$行[$i];
}
}

但是您的代码非常脏,为什么不使用PDO?是如何进行转义查询的快速方法

请注意,mysql_*函数已弃用。Mysqli和PDO是处理mysql数据库连接的推荐方法。请注意,mysql_*函数已被弃用。Mysqli和PDO是处理mysql数据库连接的推荐方法。请注意,mysql_*函数已被弃用。Mysqli和PDO是处理mysql数据库连接的推荐方法。请注意,mysql_*函数已被弃用。Mysqli和PDO是处理mysql数据库连接的推荐方法。