【问题标题】:MySQL Query not printing out dataMySQL Query 不打印数据
【发布时间】:2011-05-31 21:03:04
【问题描述】:

我试图从我的表中检索一些数据,只是出于某种原因我无法让它返回任何东西。

<?php

$curr_uemail = mysql_query("select * from produgg_users where produgg_users.id = ".$usersClass->userID().") or die(mysql_error())");    

$arr_uemail = mysql_fetch_array($data);

while($arr_uemail = mysql_fetch_array($data)) 
{
echo $arr_uemail['email'];
}

/*For Debugging purposes
echo $usersClass->userID();*/

?>

有人能看出我的语法有什么问题吗?

【问题讨论】:

  • 这是什么? ") or die(whoops)");你没注意到奇怪的突出显示吗? x)
  • 哈哈对不起我没有,无论哪种方式修复它仍然无法正常工作
  • 所以更新你的代码。其他代码应该可以工作。

标签: php mysql


【解决方案1】:

有很多错误。

第一个是

$curr_uemail = mysql_query("select * from produgg_users where produgg_users.id = ".$usersClass->userID()) or die(whoops);

你不应该在 while 之前调用的第二个 mysql_fetch_assoc,因为如果结果只包含 1 条记录,它将永远不会进入 while

最终代码为:

$curr_uemail = mysql_query("select * from produgg_users where produgg_users.id = ".$usersClass->userID()) or die('whoops');

while($arr_uemail = mysql_fetch_array($curr_uemail)) {
echo $arr_uemail['email'];
}

ma​​rc 所述,如果您只有一条记录,则可能变为:

$curr_uemail = mysql_query("select * from [etc]") or die('whoops');    
$arr_uemail = mysql_fetch_array($curr_uemail);
echo $arr_uemail['email'];

【讨论】:

  • 对不起,我修改了我原来的问题。
  • 那是因为你应该做mysql_fetch_array($curr_uemail) 而不是$data 我已经编辑了我的答案
  • 假设produgg_users.id是一个PK字段,那么查询最多只能产生一次记录,所以while循环是没有用的。一个 fetch 调用就可以解决问题。
【解决方案2】:

我通过我的评论告诉了你第一个错误。 但是请启用错误处理并按照解释器告诉您的操作。

error_reporting(E_ALL);
ini_set('display_errors', 1);

还有可能是错误的,这里的陈述是:

while($arr_uemail = mysql_fetch_array($data)) 

你应该用括号括起来,否则解释器可能会警告你。

while(($arr_uemail = mysql_fetch_array($data))) 

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 2016-07-05
  • 2018-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多