根据一个表列内的特定输入获取多个MySQL行


fetching multiple MySQL rows based on a specific input within one of the table columns

我试图在一个特定列内具有特定输入的MySQL表中获取所有行。这是我的表格:

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

我如何获取"red"作为"COLOR"列内存储值的所有行?有人能帮帮我吗?

我是一个新手MySQL/PHP,所以原谅我,如果这是一个愚蠢的问题。

既然您是新手,我想推荐正确的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

参见mysql_fetch_assoc(参考:http://de.php.net/mysql_fetch_assoc)。第一个例子提供了你需要的所有信息。

sql需要替换为:

SELECT * FROM yourtable WHERE color = 'red'

这是一个偶然的where条件:

select * from thetable where color = 'red';

您需要在查询(文档)上使用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

可以设置如下查询

$query="select * from <table_name> where <column_name>=<your_input>";

现在使用

运行他们的查询
$result="mysql_query($query)";

最后写一个代码来获取你所有的数据

while($row = mysql_fetch_array($result)){
   //do your operations here i'll store it in array
   $arr[]= array("<colum-name"=>$row['<column-name'],....);
}