2016-12-20 12 views
0

私はWordpressサイトに別のウェブサイトからデータを追加しようとしています。そのために、私はプラグインを作成しました。このプラグインでは私の他のウェブサイトからデータを得ることができますが、私はそれを私のWordpressウェブサイトに送ることはできません。以下はそのための私のコードです。Wordpressチェック重複してデータを挿入

$mysqlis=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 

    $slug = str_replace(" ","-",$value); 

    $checkdublicate = $mysqlis->query("SELECT * FROM `temp_wp_terms` WHERE `slug` = '.$slug.' AND `name`='.$value.'"); 

    if ($checkdublicate->num_rows == "0") 
    { 
     if ($value != "." && $value != "..") 
     { 
     $query = "INSERT INTO `temp_wp_terms`(`name`, `slug`, `term_group`) VALUES ('.$value.', '.$slug.', '0')"; 
     $mysqlis->query($query); 
      if(!$mysqlis) 
      { 
      echo "Error in insert"; 
      } 
     } 
     else 
     { 
      mylog("173 insert failed NoRow: " .print_r($checkdublicate->num_rows,TRUE)); 

     } 
    } 
    $mysqlis->close(); 

解決策を教えてください。ありがとう

+0

どのように」周りにもう少し文脈でこれを更新してくださいこの日付を統合しようとしています(データを挿入する目標をどのように達成しようとしているか)。よく書かれた、完全な質問が答えるのは簡単ですが、[最小限で完全で検証可能な例を作成する方法](http://stackoverflow.com/help/mcve)を読むことを強くお勧めします。 – Guildencrantz

+0

あなたのWordpress Webサイトにそれを追加できないのはなぜですか?これはソフトウェアの問題かサーバー構成の問題ですか(これはStackOverflowの話題にはなりません)。 –

答えて

0

プラグインを使用している場合は、mysqliではなくグローバル$ wpdbオブジェクトを使用する必要があります。 $ wpdbは、カスタムクエリを作成する方法を提供し、wordpress設定ファイルのデータベース認証情報を自動的に使用します。

は(あなたが設定され、適切なインデックスを持っている場合、クエリは重複を避けることができます置き換える。)、このような何かを試してみてください。

global $wpdb; 

$query = $wpdb->prepare("REPLACE INTO `temp_wp_terms`(`name`, `slug`, `term_group`) VALUES (%s, %s, %d)", $value, $slug, 0); 

$wpdb->query($query) 

出典:https://developer.wordpress.org/reference/classes/wpdb/

関連する問題