私はカスタムVisual Composer要素を追加し、クエリの結果を出力したい。しかし、このクエリ(1)を出力すると、このクエリ(2)を出力するときに他の結果が得られます。 WordpressのSQLクエリが異なる結果
// declared vars
global $wpdb;
$nn = '{{ post_data:ID }}';
$nn1 = (string)$nn;
1) $results2 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = 526 AND guid like '%pdf'", OBJECT);
2) $results2 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = ".$nn1." AND guid like '%pdf'", OBJECT);
I出力526文字列(クエリ1)は、それが正しい結果を与える
は、しかし、私はすべてのポストは、そのユニークなIDを持っているので、出力はVARと一緒にいたいです。私もそれがpost_idの
$nn = '{{ post_data:ID }}';
$nn1 = (string)$nn;
として見られていないので、これが失敗した場合に、文字列内の任意のアイデアをVARを入れて試してみましたか?
$nn1 = (string)$nn;
$nn2 = strval($nn);
$nn3 = settype($nn, "string");
$results1 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = ".$nn1." AND guid like '%pdf'", OBJECT);
$results2 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = ".$nn2." AND guid like '%pdf'", OBJECT);
$results3 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = ".$nn3." AND guid like '%pdf'", OBJECT);
$results4 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = %d AND guid like '%pdf'", $nn3, OBJECT);
上記のすべては、私は文字列全体にそれをエコーするとVAR
に何か問題がまだ存在することを意味し、空の文字列を返している:私はその間に試してみた何
右mysqlのクエリを返します。
:私はそのクエリを実行すると、それは私に適切なソリューションを提供しますecho ("SELECT guid FROM wp_posts WHERE post_parent = ".$nn."");
//output
SELECT guid FROM wp_posts WHERE post_parent = 526;
$GLOBALS['wpdb']->get_results(
"SELECT guid FROM wp_posts WHERE post_parent = $nn",
OBJECT
);
特にない文字列に、任意の型変換を行う必要はありません:あなたのテストの
$results6 = $GLOBALS['wpdb']->get_results("SELECT guid FROM wp_posts WHERE post_parent = 526", OBJECT);
// output
[6]=>object(stdClass)#8030 (1) {
["guid"]=>
string(69) "http://blabla.pdf"}
Greetz
編集した質問 –
あなたの '$ nn1'変数は、文字通り' {{post_data:ID}} 'を含み、数字ではありません。 – jeroen
{{post_data:ID}}を数字にするにはどうしたらいいですか? –