Php 仅返回每行值的第一个字母

Php 仅返回每行值的第一个字母,php,sql,oracle,oracle10g,oracle-call-interface,Php,Sql,Oracle,Oracle10g,Oracle Call Interface,我对通常通过查询数组的简单foreach循环有点问题。我试图从一行中找到各个字段的值,但它只返回每个字段的第一个字母。OCI新手,如有任何帮助,将不胜感激 $custcart = oci_parse($conn,"SELECT * FROM A113222813_CARTLINE WHERE CUST_ID= :cust_id"); oci_bind_by_name($custcart, ":cust_id", $_SESSION["CUST_ID"]); if (!$custcart)

我对通常通过查询数组的简单foreach循环有点问题。我试图从一行中找到各个字段的值,但它只返回每个字段的第一个字母。OCI新手,如有任何帮助,将不胜感激

$custcart = oci_parse($conn,"SELECT * FROM A113222813_CARTLINE WHERE CUST_ID=  
:cust_id");
oci_bind_by_name($custcart, ":cust_id", $_SESSION["CUST_ID"]);

if (!$custcart) {
    echo "There was an error. Please wait wwhile we redirect you.";
    $url ="login.php";
    $time_out = 5;
    header("refresh: $time_out; url=$url");
}

oci_execute($custcart);
include 'includes/header.php';

while ($row = oci_fetch_array($custcart, OCI_ASSOC)) {
    foreach ($row as $item) {
        echo $item['CART_NAME'];

    }
}

while
正在所有返回的行上循环。然后,您将
foreach
遍历该行并访问该行中的列(不要这样做)。您只需在
$row
中输入
while
并访问
购物车名称

while ($row = oci_fetch_array($custcart, OCI_ASSOC)) {
    echo $row['CART_NAME'];
}
如果要将行存储在数组中,以便在脚本中多次使用,则:

while ($row[] = oci_fetch_array($custcart, OCI_ASSOC)) { }

//now or later

foreach ($row as $item) {
    echo $item['CART_NAME'];
}

foreach()
loop type
print\r($row)
之前,告诉我输出结果:数组([CART\u ID]=>1001[CUST\u ID]=>1061[CART\u NAME]=>MORNING GROWLER[CART\u QTY]=>12[CART\u DATE]=>2014年3月12日[PRICE]=>7.99)11M117谢谢,但是如果我返回了多行,那么每个行都需要一个,对吗?如果有一行,您可以删除while@user2145682:while正在所有行中循环,直到没有更多行。谢谢!为我的愚蠢道歉,但我以前只使用过MySQL和PDO!