Это код, который я использую:У Вас есть ошибка в вашем SQL проверки синтаксиса инструкции
<?php
$hostname = "localhost";
$user = "user";
$pass = "password";
$database = "db";
$conn = @mysql_connect("$hostname","$user","$pass");
$chars="SET CHARACTER SET utf8"; mysql_query($chars);
@mysql_select_db($database);
$date = time();
$rand = mysql_query("SELECT * FROM `468x60ads` WHERE data+$expire>$date ORDER BY RAND() LIMIT 0,1") or die(mysql_error());
if(mysql_num_rows($rand) == 0)
{
echo "$zero";
}
else
{
while($row = mysql_fetch_assoc($rand))
{
echo "<center><a href='$row[link468x60]' target='_blank'><img src='$row[banner468x60]' width='468' height='60' style='border: 0px' alt=''/></a></center>";
}
}
?>
Это таблицы SQL:
CREATE TABLE IF NOT EXISTS `468x60ads` (
`id` int(12) NOT NULL auto_increment,
`banner468x60` text NOT NULL,
`link468x60` text NOT NULL,
`data` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=71 ;
И это ошибка, я получаю:
У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «> 1484246311 ORDER BY RAND() LIMIT 0,1» в строке 1
Скажи мне, как это исправить.
Сообщение об ошибке кажется довольно очевидным. –
Итак, где определяется '$ expire'? Как выглядит фактический SQL? Почему вы все еще используете интерфейс mysql, а не mysqli или pdo? –