2017-01-12 74 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()限制0,1」在行1

告訴我如何解決它。

+0

錯誤消息似乎很明顯。 –

+2

那麼定義'$ expire'在哪裏?實際的SQL看起來像什麼?爲什麼你仍然使用mysql界面,而不是mysqli或pdo? –

回答

0

我忘了定義$ expire 我定義了它,現在它工作正常。

+0

那麼數據庫中'data'的值是多少?爲什麼你要用'$ expire' __add__一個文本字符串? –

相關問題