[英]Php Syntax help for a noobie
我正在开发一个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;
?>
这里有一些想法:
除非需要,否则您不应使用“ root”帐户(或任何具有管理权限的帐户)连接到MySQL-在这里,它不是
另外:您可能不应该使用extract:它会突然创建变量-如果有一天在表中添加一列,则意味着您的PHP脚本中有一个新变量,这可能与现有变量冲突(这里的风险不大,因为您没有在执行“ select *”;而是一天或另一天,...)
$row['CheckDate']
类的语法 extract
, CheckDate
仍然是一个变量,这意味着您必须在其$CheckDate
加上$: $CheckDate
有关更多信息,请参见extract
手册页:在示例中,每个变量前面都有$-实际上,这就是PHP中变量的语法;-)
第三个:似乎在脚本末尾缺少一些“}”,以标记while循环的末尾。
并且,还有另外一个路要走:开发时,应该使用尽可能最高的错误报告级别; 那就表明您在这里没有$的“ CheckDate”是错误的。
有关更多信息,您可以查看:
error_reporting
和error_reporting
display_errors
在脚本顶部使用类似的内容将有所帮助:
error_reporting(E_ALL);
ini_set('display_errors', 'On');
或者,在php.ini文件中:
error_reporting = E_ALL
display_errors = On
(您必须找到并替换现有值)
希望这会有所帮助...并玩得开心!
> $validfromdate = CheckDate;
也许你是说
$validfromdate = $row["CheckDate"];
尝试:
$ validfromdate = $ row ['CheckDate'];
$validfromdate = CheckDate;
应该
$validfromdate = $CheckDate;
您还缺少循环的括号。
您最好以数组形式访问$ row,而不是对其调用extract。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.