-2

如何检查 php 脚本是否有效?我正在使用php -f filename.php email@address.com,但出现错误。php 脚本旨在与 Android 应用程序一起使用,以检索电子邮件与发布的电子邮件地址匹配的数据。这是php代码:

<?php
$con = mysql_connect("localhost","username","password");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("db_name", $con);
$email= mysql_real_escape_string($_POST['email']);
$result=mysql_query("SELECT * FROM `TableName` WHERE email='$email' ");

if($result){ 
  $num_rows = mysql_num_rows($result);
  print(json_encode($num_rows));
}

  mysql_close($con);
?> 

还是我无法从命令行测试此脚本,而应该使用 html 文件?

现在,例如,如果我替换行:$email= "myaddress@nd.edu";然后键入php -f getdbstats.php我得到正确的结果。

4

2 回答 2

1

命令行php有点不同。它不使用 POST 或 GET 全局数组来存储命令行参数。您必须使用名为 $argv 的全局变量,该变量由命令行中的参数填充。因此,在您的代码中,电子邮件地址存储在数组的 $argv[1] 元素中。$argv[0] 是脚本的名称。在这里阅读更多:http: //php.net/manual/en/reserved.variables.argv.php

于 2012-06-20T11:54:04.103 回答
0

它在编辑后工作,因为脚本不再需要 POST。为什么将它作为命令行脚本运行很重要......打败了我。如果您只想测试脚本是否有效,您可以编写一个带有一个文本字段和一个提交按钮的简单表单,以查看输入是否正确接收。

如果由于某种原因您仍打算在命令行上运行它,请查看此 SO 帖子

于 2012-06-20T11:50:47.567 回答