[英]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.