2017-01-12 2 views
-6

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

Скажи мне, как это исправить.

+0

Сообщение об ошибке кажется довольно очевидным. –

+2

Итак, где определяется '$ expire'? Как выглядит фактический SQL? Почему вы все еще используете интерфейс mysql, а не mysqli или pdo? –

ответ

0

Я забыл указать $ expire Я определил его и теперь он отлично работает.

+0

Так каково значение в 'data' в вашей базе данных; и почему вы пытаетесь использовать __add__ текстовую строку с '$ expire'? –

Смежные вопросы