为啥不回显 $rslt 变量

Posted

技术标签:

【中文标题】为啥不回显 $rslt 变量【英文标题】:Why doesn't echo $rslt variable [closed]为什么不回显 $rslt 变量 【发布时间】:2012-11-24 07:13:02 【问题描述】:

我有以下代码,但我找不到为什么不回显 $rslt[0]["product_id"]; ? cookie在浏览器中,谁能告诉我什么问题?

if (isset($_COOKIE["jshopping_temp_cart"])) 
    mysql_connect("localhost", "user", "pass") or die(mysql_error());
    mysql_select_db("shopping_katalog") or die(mysql_error());
    $result = mysql_query("SELECT * FROM x9qg6_jshopping_cart_temp WHERE id_cookie ='".$_COOKIE["jshopping_temp_cart"]."'");    
    while ($row = mysql_fetch_array($result)) 
        $data = $row['cart'];
        $rslt = unserialize($data);
        echo $rslt[0]["product_id"];
    

【问题讨论】:

在给定的示例中,我看不到任何 echoprint。我认为这是一个错字。要确定$rslt 里面的内容,请使用var_dump($rslt); 另外,从代码中删除真实的用户名和密码并停止使用mysql_*,因为它已被弃用。您可以改用mysqli_* 和/或PDO 【参考方案1】:

你没有使用echo,所以它不会回显。

【讨论】:

【参考方案2】:

你需要echo它;)

 echo $rslt[0]["product_id"];

【讨论】:

【参考方案3】:

你实际上根本没有在这里调用 echo,如果你在一个没有值的变量上调用 echo,那么它根本不会回显一个值。

echo $rslt[0]["product_id"];

确保变量中确实有一些东西:

var_dump($rslt[0]["product_id"]);

【讨论】:

【参考方案4】:

您的代码中缺少回声。请修改您的代码,如:

  if (isset($_COOKIE["jshopping_temp_cart"])) 

    mysql_connect("localhost", "shopping_katalog", "logik@112233") or die(mysql_error());
    mysql_select_db("shopping_katalog") or die(mysql_error());
    $result = mysql_query("SELECT * FROM x9qg6_jshopping_cart_temp WHERE id_cookie ='" . $_COOKIE["jshopping_temp_cart"] . "'");
    while ($row = mysql_fetch_array($result)) 
        $data = $row['cart'];
        $rslt = unserialize($data);
        echo $rslt[0]["product_id"];
    

【讨论】:

【参考方案5】:

您可以回显必填字段或使用 print_r() 显示所有结果,如 print_r();

【讨论】:

以上是关于为啥不回显 $rslt 变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在不回显的情况下从 shell 脚本中获取密码

struts2页面中修改为啥select值不回显

为啥我不能指定环境变量并在同一命令行中回显它?

bat批处理积累

在 Windows Batch 中,为啥用括号括起来的 for 循环不会扩展它被告知要回显的变量?

SpringMVC JSON数据交互 数据不回显问题