尝试使用PHP从MySQL获取数据时出错

尝试使用PHP从MySQL获取数据时出错,php,mysql,Php,Mysql,尝试使用PHP从Mysql数据库获取数据时,以下代码会收到一条消息: 获取错误: 未定义的变量结果 在不说明对该代码的请求是如何完成的情况下,一个猜测是isset$\u POST['field']返回false,因此变量$result从未定义,但您在下面的$result->num\u行中使用它。您在下面的行中犯了一个错误。应该是 $field=$_POST['field'] 不是 $field=$\u post$conn,'field' 而不是 $field=$_POST['field'];

尝试使用PHP从Mysql数据库获取数据时,以下代码会收到一条消息:

获取错误:

未定义的变量结果


在不说明对该代码的请求是如何完成的情况下,一个猜测是isset$\u POST['field']返回false,因此变量$result从未定义,但您在下面的$result->num\u行中使用它。

您在下面的行中犯了一个错误。应该是

$field=$_POST['field']

不是

$field=$\u post$conn,'field'

而不是

  $field=$_POST['field'];
也许你是说

$rows = $result->num_rows;
此外,即使未定义$result,也会在末尾使用它:

此外,您从未输出任何数据并将其打印出来。您只需将其存储在变量中

在任何情况下:通过将表单数据直接写入查询字符串进行的操作都是危险的。我建议你和我一起使用。也可以读一下


下面是另一个关于SQL注入的stackoverflow问题,答案很好。它包括PDO和mysqli:

您遇到了什么错误?警告:当使用mysqli时,您应该使用并将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。永远不要将$\u POST或$\u GET数据直接放入查询中,如果有人试图利用您的错误,这可能是非常有害的。检查它们,并将一票标为接受答案。如果其他人有用,你也可以投票给他们。谢谢。我很熟悉SQL注入,但这是一个封闭的环境-本地主机和服务器在USB上-所以还不用担心;如果未定义$result,则永远不会到达:if$结果$conn->错误;当到达该行时!isset$\u POST['field'],您正在编写的if位于另一个if中。
  $field=$_POST['field'];
$rows = $result->num_rows;