Php 如何打印SQL语句?

Php 如何打印SQL语句?,php,sql,Php,Sql,我有一个SQL语句似乎不起作用,我花了一个多小时询问如何显示该语句的样子示例: $result = mysql_query("SELECT * FROM myTable WHERE id=$my_id AND status=$active"); 现在我需要做的就是查看实际传递的SQL,所以我想象它是这样的: SELECT * FROM myTable WHERE id=2 AND status=4 我知道这可能非常简单,但我搜索的关键词并没有返回答案,我尝试了print\u r,echo$r

我有一个SQL语句似乎不起作用,我花了一个多小时询问如何显示该语句的样子示例:

$result = mysql_query("SELECT * FROM myTable WHERE id=$my_id AND status=$active");
现在我需要做的就是查看实际传递的SQL,所以我想象它是这样的:

SELECT * FROM myTable WHERE id=2 AND status=4
我知道这可能非常简单,但我搜索的关键词并没有返回答案,我尝试了
print\u r
echo$result
mysql\u fetch\u array
,等等,但它并没有真正得到我所需要的,有人能让我摆脱痛苦,告诉我怎样才能找回我刚刚浪费的生命时光吗?

随声附和吧

echo "SELECT * FROM myTable WHERE id=$my_id AND status=$active";
只是附和一下

echo "SELECT * FROM myTable WHERE id=$my_id AND status=$active";
$sql='SELECT*FROM myTable,其中id='.mysqli_escape_string($my_id.),status='.mysqli_escape_string($active); $result=mysqli_query($sql)或die mysqli_error(); 使用
mysqli
而不是
mysql
,因为
mysql
已被弃用

$sql='SELECT*FROM myTable,其中id='.mysqli_escape_string($my_id.),status='.mysqli_escape_string($active); $result=mysqli_query($sql)或die mysqli_error();
使用
mysqli
而不是
mysql
,因为
mysql
已被弃用

echo“从myTable中选择*,其中id=$my\u id和status=$active”
?警告您的代码可能容易受到sql注入攻击。
mysql\u*
函数的PHP手册一章中所述的攻击:不建议将此扩展用于编写新代码。相反,应该使用或扩展名。在选择MySQL API时,请参阅以获取更多帮助。感谢各位,我是php和MySQL新手,这是我学到的基础知识,那么这是否意味着我必须重新编码整个网站,还是只是在有MySQL查询的地方,对于新手来说,有什么好的资源可以进行这种转换,了解mysqli或PDO,对于新手来说,哪种更好?
echo“从myTable中选择*,其中id=$my_id和status=$active”
?警告您的代码可能容易受到sql注入攻击,如PHP手册中关于
mysql\u*
函数的章节所述:不建议在编写新代码时使用此扩展。相反,应该使用或扩展名。在选择MySQL API时,请参阅以获取更多帮助。感谢各位,我是php和MySQL新手,这是我学到的基础知识,那么这是否意味着我必须重新编码整个网站,还是只是在有MySQL查询的地方,对于新手来说,有什么好的资源可以进行这种转换,了解mysqli或PDO,对于新手来说,哪种更好?这可能会引入sql注入攻击。当然,这取决于状态是string还是int。最好的方法是使用pdo和do prepared语句,但似乎不是这样。这可能会引入sql注入攻击。当然,这取决于状态是字符串还是int。最好的办法是使用pdo并做准备好的语句,但Being似乎并没有这样做。 $sql = 'SELECT * FROM myTable WHERE id='.mysqli_escape_string($my_id).' AND status='.mysqli_escape_string($active); $result = mysqli_query($sql) or die mysqli_error()." Query:".$sql;