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

时间:2011-12-20 08:13:04

标签: php mysql rows

我正在尝试获取MySQL表中具有特定列中特定输入的所有行。 这是我的表:

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

如何获取"red"列中存储"COLOR"的所有行?有人可以帮忙吗?

我是MySQL / PHP的新手,所以如果这是一个愚蠢的问题请原谅我。我试过看了一遍,但我找不到答案

5 个答案:

答案 0 :(得分:2)

请参阅mysql_fetch_assoc(参考:http://de.php.net/mysql_fetch_assoc)。第一个例子为您提供了所需的所有信息。

sql需要替换为:

SELECT * FROM yourtable WHERE color = 'red'

答案 1 :(得分:2)

由于你是新手,我想推荐适当的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 :(得分:0)

这是一个偶然的where条件:

select * from thetable where color = 'red';

答案 3 :(得分:0)

您需要在查询中使用WHERE子句(documentation)。

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

答案 4 :(得分:0)

您可以进行如下查询

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

现在使用

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

Atlast编写代码以获取所有数据

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