Php 如何打印mysql查询以查看发送的内容

Php 如何打印mysql查询以查看发送的内容,php,mysql,Php,Mysql,我试图在页面上查看打印或回显由以下用户发送的实际查询: $req1 = mysql_query('select m1.id, m1.title, m1.date_time, count(m2.id) as reps, users.username as userid, users.username from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['username'].'" and m1.user1read="no" and

我试图在页面上查看打印或回显由以下用户发送的实际查询:

$req1 = mysql_query('select m1.id, m1.title, m1.date_time, count(m2.id) as reps, users.username as userid, users.username from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['username'].'" and m1.user1read="no" and users.id=m1.user2) or (m1.user2="'.$_SESSION['username'].'" and m1.user2read="no" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc'); 
我试着在网上寻找一种方法来实现这一点,但是echo$req1只返回一个资源ID。可能是username变量出了问题,它没有返回任何记录。有人能解释一下如何获取实际的查询吗,因为它正在使用用户名变量等进行打印?我不知道怎么做

提前感谢您的真诚!!!:

$sql = 'select m1.id, m1.title, m1.date_time, count(m2.id) as reps, users.username as userid, users.username from pm as m1, pm as m2,users where ((m1.user1="'.$_SESSION['username'].'" and m1.user1read="no" and users.id=m1.user2) or (m1.user2="'.$_SESSION['username'].'" and m1.user2read="no" and users.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc';
var_dump($sql);
//then to run it
$req1 = mysql_query($sql);

尽管mysql_*函数已被弃用,但您应该使用或

您可以查看mysql的日志。在Linux系统上,它们位于/var/log目录中。您还需要使用特定选项启动Mysql服务器,具体取决于版本。您可以在此处找到更多信息:


注意:日志记录查询对性能有重要影响,因此我不建议在生产服务器上这样做。

最简单的方法是什么?不要直接将SQL传递给mysql_查询,而是首先将其分配给变量。然后,您可以将该变量传递给mysql_查询,并将其回显出来。这不是$req1吗?我很困惑。“那会是什么样子?”安德鲁斯给了你你需要的答案。从代码可读性的角度来看,这也是一个很好的实践。我认为这个问题应该是封闭的,但我不知道我看到了一个不符合最低理解标准的更好的例子。对于我们这些刚开始学习的新生来说,有些术语仍然令人困惑,举个例子很有帮助谢谢你清晰的演示,斯莫奇。我要试一试!:谢谢你的友好回复。我还在学习,这很管用,斯莫奇。谢谢。@user2672667不用担心,很高兴能帮上忙