2016-07-26 16 views
0

比較IP地址我已經創建了一個自定義的表來存儲IP和帖子ID不能在WordPress的PHP

$wpdb->insert('wp_firstvisit', 
        array('IP' => $_SERVER['REMOTE_ADDR'], 
          'post_id'=>$post_id), 
        array('%s','%d') 
        ); 

當我試圖讓使用

$ip = $_SERVER['REMOTE_ADDR'];  
     $result = $wpdb->get_row("SELECT * FROM wp_firstvisit WHERE post_id =$post_id AND ip=$ip"); 

我沒有得到任何結果行

AND ip=$ip 

被刪除 我得到一排

+0

將你的文本變量('字符串')包裹在''''撇號周圍。 – Phiter

+0

IP地址是字符串,不是數字,需要加引號。 – aynber

+0

謝謝!它的工作..你可以把它放在答案,以便我可以將其標記爲答案 –

回答

0

這是不行的,期間。一個IP地址不是一個數字。這是一個字符串。

mysql> select 'foo' = 127.0.0.1; 
ERROR 1064 (42000): You have an error in your SQL syntax; check the 
manual that corresponds to your MySQL server version for the right 
syntax to use near '.0.1' at line 1 
        ^^^^^^ 

字符串MUST是:你在做什麼,相當於

SELECT ... ip = 127.0.0.1 

因爲這不是一個有效的數字,這是一個不帶引號的字符串,你會在SQL級別出現語法錯誤報價:

SELECT ... ip = '127.0.0.1';