<?php
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');
if((@$_GET['query']))
{
$query = @$_GET['query'];
$mysqli = new mysqli('localhost', 'johan', 'johan', 'fysiosteo');
$myArray = array();
if ($result = $mysqli->query("SELECT id, post_name FROM wp_posts WHERE post_type = 'page' AND post_content like '%" . $query . "%'")) {
$tempArray = array();
while($row = $result->fetch_object()) {
$tempArray = $row;
array_push($myArray, $tempArray);
}
echo json_encode($myArray);
}
$result->close();
$mysqli->close();
}
?>
ここに私のservice.phpファイルがあります。 phpmyadminでこのクエリを実行すると、私は必要な結果を得ます。しかし、私は別のページからajax呼び出しを使用して呼び出すと、ページのコンテンツpost_contentは、ページ上のテキストの代わりにnull値を取得します。 htmlタグのためですか?それとも何が原因でしょうか?おかげajax検索用のwp_postsをシリアライズすると、post_content = null
これは非常に危険な構文です。誰でも任意のSQLを挿入してデータベース内で実行できます。また、クエリ変数をエコーするとどうなりますか?何かが現れる? – VNO
あなたのことを指摘してくれてありがとうございますが、彼のために詳しく説明するのは良くありません。あなたの車を整備士に服用させ、彼にちょうど言って、「あなたの車は完全にうんざりしています。 –
@Vibhu私はhttp://php.net/manual/en/mysqli.real-escape-string.phpについて知っていますが、私はその部分にまだ行きませんでした。はい、クエリ変数があります。 – Johan