Получить только одну строку в PHP/MySQL
Возможный дубликат:
mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, boolean задан в select
простой вопрос здесь.
У меня есть запрос SELECT
SELECT FROM friendzone WHERE ID = '$editID'"
Я уверен, что это даст мне только одну строку в результате, потому что идентификатор не может быть дублирован в моей БД.
Как получить доступ к значениям столбцов?
$row = mysql_fetch_array($query);
Я думаю, что это бесполезно, так как мне не нужно создавать какой-либо массив. У меня есть только одна строка!
Если я не помещаю его в файл "Показывать" и пытаюсь сделать, например,
.$row['ID'].
Я получаю:
mysql_fetch_array() expects parameter 1 to be resource, boolean given
Спасибо заранее всем.
Ответы
Ответ 1
Пожалуйста, не используйте функции mysql_*
в новых код. Они больше не поддерживаются, и процесс отсрочки начался с него. См. красный ящик? Подробнее о подготовлен заявления и использовать PDO или MySQLi - this статья поможет вам решить, какой именно. Если вы выберете PDO, вот хороший учебник.
Попробуйте:
$query = mysql_query("SELECT * FROM friendzone WHERE ID = '$editID'");
$row = mysql_fetch_array($query);
print_r($row);
Код MySQLi:
$conn = new mysqli('host', 'username', 'password', 'database');
$stmt = $conn->prepare("SELECT * FROM friendzone WHERE ID = ?");
$stmt->bind_param("s", $editID);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
print_r($row);
Ответ 2
Вероятно, ваш $query
равен false
, потому что что-то пошло не так, попробуйте mysql_error()
, чтобы понять, что не так.
И 2 маленьких совета:
-
было бы лучше использовать PDO
od mysqli
, поскольку функции mysql_ * устарели.
-
используйте как минимум mysql_real_escape_string()
, чтобы избежать значения перед тем, как поместить его в строку SQL
Ответ 3
Так как я не знаю, в каких столбцах вы пытаетесь выбрать общий синтаксис для выбора,
"SELECT column1, column2, column3 FROM friendzone WHERE ID ='$editID'"
Или, если вы хотите выбрать все столбцы, просто введите
"SELECT * FROM friendzone WHERE ID = '$editID'"