我遇到了这段代码的真正问题,基本上我有一个外部服务器,我试图调用它并将数据添加到一个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>
我确信这是一个非常明显的问题,但我对数据库连接有点新手。当前代码在加载时不会在网页上产生任何内容。
答案 0 :(得分:1)
元级错误:
date(DateCreated) between '$yest' and '$yest'
基本上是
的罗嗦/无用版本date(DateCreated) = '$yest'
如果那应该是&#34;昨天&#34;,那么你所有的PHP日期修改代码都毫无意义。您可以直接在数据库中轻松完成:
WHERE date(DateCreated) = (CURDATE() - INTERVAL 1 DAY)
功能错误:
if (mysql_connect_errno()) {
此功能不存在。 mysql _ *()函数只返回boolean FALSE,你可以这样检查:
$db = mysql_connect(...);
if ($db === FALSE) {
die(mysql_error());
}
答案 1 :(得分:-1)
对于mysql_fetch_array:mysql_fetch_array($Test,MYSQL_ASSOC)
或使用$ row [0]而不是$ row ['DataField1']。您正在获得常规数组,但尝试将其用作关联数组