Хорошо прежде всего, вот моя функция для отправки запроса:Почему ответ на запрос на [1]?
function send_query($sql) {
global $rows;
global $conn;
connect();
$result = $conn->query($sql);
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
mysqli_free_result($result);
$conn->close();
return $rows;
}
И когда я использую его так:
$rows = send_query("SELECT views FROM posts WHERE postid = " . $_GET['id']);
foreach($rows as $row) {
print_r($row);
echo "<BR>";
}
Я получаю этот результат ...
Array ([postid] => 1 [username] => jesusfreak [unique] => 3)
Array ([views] => 0)
Почему он помещает ответ, который мне нужен в [1] из массива вместо [0]? И почему это ставит те другие вещи, которые я не запрашивал в [0]?
Не НАВСЕГДА НАВСЕГДА НАВСЕГДА вставить значение в $ _GET внутри вашего запроса. Если вы не можете решить эту проблему, перейдите на дорожку foreach вместо стиля «for ($ i; ...) ....». Удачи ! –
Спасибо за ваш ответ. Почему вы никогда не должны вставлять значение $ _GET внутри запроса? Это касается только проблем безопасности? – thinkofacard
Это открывает вам до SQL-инъекции. Пользовательский ввод всегда должен быть дезинфицирован –