у меня есть файл JavaScript, который использует POST, чтобы послать некоторые данные в PHP файл, как например:
var additional = "Feb2015";
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);
В файле PHP, я использую $ _GET чтобы получить, что «дополнительные» переменную:
$query = $_GET['query'];
Теперь, если я хочу, чтобы использовать его, чтобы получить некоторые данные из MySql, я использую это для моего запроса, но когда я повторяю это, он просто показывает пустые кавычки, где «февраль 2010» должно быть:
$sql_query = "SELECT * FROM '" . $query . "'";
Output: "SELECT * FROM ''"
Еще более странно, если я использую json_encode и печатаю его на стороне javascript, он отображается просто отлично.
Аналогичным образом, если я вижу, равна ли переменная «Feb2015», с json_encode она вернет true, но на странице будет выводиться ложь одновременно.
Любые идеи?
Edit:
Это мой Javascript код:
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var content = JSON.parse(this.responseText);
window.alert(content);}}
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);
xmlhttp.send();
Это выглядит как ужасная страшная вещь. ОДНАКО. Вы отправляете POST, а не GET. Вы должны использовать $ _POST, а не $ _GET. – Farkie
'json_encode и напечатать его на стороне javascript' Вещь в этот момент когда-либо застряла. Что вы имеете в виду? И покажите больше своего кода. – JOUM
Добавьте это в свой PHP-код, чтобы подтвердить, что вы действительно получаете значение в $ _GET: file_put_contents ('get_array.txt', print_r ($ _ GET, TRUE)); Затем выполните javascript и просмотрите файл. – Craig