我对这段代码有真正的问题,基本上我有一个外部服务器,我正在尝试调用它,并将其中的数据添加到一个PHP数据站点中。然而,由于某种原因,在阅读了大量关于这个主题的文章后,我仍然无法将其付诸实践。
下面是下面的代码,这是我脑海中的概念,但出于某种原因,我没有运气让它正确工作?
任何帮助都将不胜感激:
<html>
<head>
</head>
<body>
<?php
// Determine Yesterday
date_default_timezone_set('Europe/London');
$m= date("m"); // Month value
$de= date("d"); //today's date
$y= date("Y"); // Year value
$yd = date('d', mktime(0,0,0,$m,($de-1),$y));
$ym = date('m', mktime(0,0,0,$m,($de-1),$y));
$yy = date('Y', mktime(0,0,0,$m,($de-1),$y));
$yest = $yy.'-'.$ym.'-'.$yd;
$cd = date("Y-m-d");
// Make a MySQL Connection
ini_set('mysql.connect_timeout', '240');
// Make a MySQL Connection
$con=mysql_connect("location", "Username", "Password");
// Check MySQL connection
if (mysql_connect_errno()) {
echo "Failed to connect to MySQL: " . mysql_connect_error();
}
$Test= mysql_query("SELECT * FROM DB1.Table WHERE date(DateCreated) between '$yest' and '$yest'") or die(mysql_error());
echo "<table border='1'>
<tr>
<th> DataField1 </th>
</tr>"
while($row=mysql_fetch_array($Test)){
echo "<tr>
<th>" .$row['DataField1']. "</th>
</tr><tr>
<th>" .$row['DataField2']. "</th>
</tr>";
}
echo"</table>";
mysql_close($con);
?>
</body>
<footer>
</footer>
</html>
我确信对一些人来说,这是一个显而易见的问题,但我对数据库连接有点新手。加载时,此当前代码不会在网页上产生任何内容。
元级错误:
date(DateCreated) between '$yest' and '$yest'
基本上是一个冗长/无用的版本
date(DateCreated) = '$yest'
如果这应该是"昨天",那么所有PHP日期篡改代码都是毫无意义的。你可以直接在数据库中做得容易得多:
WHERE date(DateCreated) = (CURDATE() - INTERVAL 1 DAY)
以及功能错误:
if (mysql_connect_errno()) {
此函数不存在。mysql_*()函数只返回布尔值FALSE,您可以这样检查:
$db = mysql_connect(...);
if ($db === FALSE) {
die(mysql_error());
}
对于mysql_fetch_array:mysql_fetch_array($Test,MYSQL_ASSOC)
或使用$row[0]而不是$row['DataField1']。您正在获得一个常规数组,但试图将其用作关联数组