Подготовленное заявление и bind_result - PullRequest
0 голосов
/ 29 июня 2018

Ранее я использовал обычные запросы. Но в последнее время начали использовать готовые высказывания. Я имею в виду этот вопрос

Мой вопрос

Допустим, у меня есть таблица с именем files с именами столбцов id, name, privilege, acceptance. Мне нужно выбрать только значение privilege. При использовании части bind_result нужно ли указывать имена всех столбцов внутри? или просто privilege подойдет? Значит, мне нужно дать этот путь

$naming = $_POST['naming'];

$sql = 'SELECT * FROM files WHERE name = ?'; 
if ($stmt = $db->prepare($sql)) {
    $stmt->bind_param('s', $naming); 
    $stmt->execute();

$stmt->bind_result($id, $name, $privilege, $acceptance); ИЛИ

$stmt->bind_result($privilege);

$stmt->fetch();
}
$db->close();

Следующий вопрос , как запрос узнает, что $id принадлежит базе данных id столбец, $name принадлежит базе данных name столбец, $privilege принадлежит базе данных privilege столбец и $acceptance принадлежит базе данных acceptance столбец, если мы используем $stmt->bind_result($id, $name, $privilege, $acceptance);

Последний вопрос : как мне получить значение этих переменных для использования позже в PHP? Для обычного запроса я могу использовать что-то вроде $row['id'], $row['name'], $row['privilege'], $row['acceptance'] и т. Д. После получения результатов. Но для готовых заявлений, как это сделать?

...