Php语法帮助一个noobie

时间:2009-09-08 19:35:28

标签: php

我正在使用noobie应用程序从数据库中提取一些日期,然后一年后向我发送警报(使用cron)。到目前为止,我有点挣扎,我正在尝试制作一个可以用来构建我的数学的页面。

到目前为止,我已经整天调试并在教程后阅读教程,但仍然出现错误。非常令人沮丧:)

我的代码看起来像这样......

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

$result = mysql_query('SELECT CheckDate FROM Data') or exit(mysql_error());
while ($row = mysql_fetch_array($result))
{
extract($row);

$validfromdate = CheckDate;

$alert=strtotime("+1 year", $validfromdate);

echo $alert;

?>

4 个答案:

答案 0 :(得分:5)

以下是一些想法:

您不应该使用“root”帐户(或具有管理权限的任何帐户)连接到MySQL,除非需要它 - 在这里,它不是


另外:你可能不应该使用extract:它会立即创建变量 - 如果有一天你在表中添加一个列,它将意味着你的PHP脚本中的一个新变量,它可能与现有的变量冲突(这里风险不大,因为你没有做“选择*”;但是,有一天或那些,......)

  • 而是使用$row['CheckDate']
  • 之类的语法
  • 使用extractCheckDate是一个变量,这意味着您必须在前面添加$:$CheckDate

有关更多信息,请参阅extract手册页:在示例中,每个变量前面都有$ - 实际上,这是variables in PHP的语法; - )


第三个:看起来脚本末尾有一些“}”缺失,以标记while循环的结束。


此外,还有一条路:在开发时,您应该使用尽可能高的错误报告级别;这会在没有$的情况下向你显示“CheckDate”错误,在这里。

有关更多信息,您可以查看:

在脚本顶部使用类似的内容会有所帮助:

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

或者,在php.ini文件中:

error_reporting = E_ALL
display_errors = On

(您必须找到并替换现有值)


希望这会有所帮助...并且玩得开心!

答案 1 :(得分:1)

> $validfromdate = CheckDate;

也许你的意思是

$validfromdate = $row["CheckDate"];

答案 2 :(得分:0)

尝试:

$ validfromdate = $ row ['CheckDate'];

答案 3 :(得分:0)

$validfromdate = CheckDate;

应该是

$validfromdate = $CheckDate;

你也错过了循环的近距离支撑。

最好将$ row作为数组访问,而不是在其上调用extract。