выборка нескольких строк MySQL на основе определенного ввода в одном из столбцов таблицы - PullRequest
2 голосов
/ 20 декабря 2011

Я пытаюсь извлечь все строки в таблице MySQL, которые имеют определенный ввод в конкретном столбце.Вот моя таблица:

ID  COLOR   LENGTH 
--- ------- ------
19  red     10 
3   green   45 
24  blue    54 
4   red     3 
5   red     11

Как мне выбрать все строки, которые имеют "red" в качестве сохраненного значения в столбце "COLOR"?Может кто-нибудь, пожалуйста, помогите?

Я новичок в MySQL / PHP, так что извините, если это глупый вопрос.Я попытался просмотреть все, но я не мог найти ответ на него

Ответы [ 5 ]

2 голосов
/ 20 декабря 2011

Поскольку вы новичок, я бы порекомендовал правильное кодирование SQL. Назовите все нужные вам столбцы, даже если вам нужны все столбцы, существующие в вашей таблице. Избегайте использования подхода SELECT * .... Развивайте хорошие практики и привычки уже сегодня:

SELECT ID, COLOR, LENGTH FROM table WHERE COLOR = 'red';

Очень простой пример того, как можно добиться успеха в PHP:

<?php
# variables you will need. values below are mere examples only
$server = 'localhost';
$database = 'databasename';
$username = 'username';
$password = 'password';

# create database connection
try {
    $pdodb = new PDO('mysql:host='.$server.';dbname='.$database, $username, $password);
    $pdodb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch (PDOException $ex) {
    printf($ex->getMessage());
    exit;
}

# use prepared statements, for starters:
$stmt = $pdodb->prepare("SELECT ID, COLOR, LENGTH FROM table WHERE COLOR = ?");
$stmt->bindValue(1, 'red')
$stmt->execute();

# store each row into an array
$resultset = array();
do {
    $resultset[] = $onerow; 
} while ($onerow = $stmt->fetch(PDO::FETCH_COLUMN));

# to test your resultset:
print_r($resultset); # use this only to display during debugging/testing
?>

Вот ссылки на статьи, которые могут помочь вам начать:

net.tutsplus

phpeveryday

phpro

2 голосов
/ 20 декабря 2011

См. mysql_fetch_assoc (ссылка: http://de.php.net/mysql_fetch_assoc). Самый первый пример дает вам всю необходимую информацию.

sql необходимо заменить на:

SELECT * FROM yourtable WHERE color = 'red'
0 голосов
/ 01 мая 2012

Вы можете запросить следующее

0 голосов
/ 20 декабря 2011

Вам необходимо использовать предложение WHERE в вашем запросе ( документация ).

SELECT * FROM table WHERE color = 'red'; // red ones
SELECT * FROM table WHERE color != 'red'; // all but the red ones
SELECT * FROM table WHERE color = 'red' OR color = 'blue'; // red and blue
0 голосов
/ 20 декабря 2011

Это случайное where условие:

select * from thetable where color = 'red';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...