Почему мои результаты SQL не будут напечатаны на сайте PHP?

У меня есть реальные проблемы с этим кодом, в основном у меня есть внешний сервер, который я пытаюсь вызвать и добавить данные из этого в один сайт данных 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>

Для некоторых я уверен, что это явно очевидная проблема, но я немного новичок в подключениях к базе данных. Этот текущий код ничего не производит на веб-странице при загрузке.

1

Решение

Ошибка метауровня:

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());
}
1

Другие решения

Для mysql_fetch_array: mysql_fetch_array($Test,MYSQL_ASSOC) или используйте $ row [0] вместо $ row [‘DataField1’]. Вы получаете обычный массив, но пытаетесь использовать его как ассоциативный массив

-1

По вопросам рекламы [email protected]