簡體   English   中英

PHP語法幫​​助

[英]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']類的語法
  • 使用extractCheckDate仍然是一個變量,這意味着您必須在其$CheckDate加上$: $CheckDate

有關更多信息,請參見extract手冊頁:在示例中,每個變量前面都有$-實際上,這就是PHP中變量的語法;-)


第三個:似乎在腳本末尾缺少一些“}”,以標記while循環的末尾。


並且,還有另外一個路要走:開發時,應該使用盡可能最高的錯誤報告級別; 那就表明您在這里沒有$的“ CheckDate”是錯誤的。

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

在腳本頂部使用類似的內容將有所幫助:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM